《Python红队攻防脚本零基础编写:入门篇(一)》
注意事项
这里我不会教你们配置python环境,得你们自己配置,我使用的是pcharm软件来编写的,如果你们想用这个软件的话需要你们自己安装,并且需要你们掌握一些语法,如判断语法和输出语法之类的,我只教你们语法!!!!
基础命令(一)
import:引用模块
requests:常用的模块
status_code:状态码
requests.get:以get方式请求
requests.post:以post方式请求
requests.session()
#用于保存会话的,可用于储存登录状态,比如说你跟服务器开启了一个session会话,服务器会发给你一个session的参数来保存,若对方服务器的指定session没用过期,你就可以凭借这个session直接就是登录状态了
例子:
基础命令(判断登录)
我这里用的是我自己搭建的pikachu靶场来进行脚本测试的,如果你们不会搭建可以去看我的pikachu靶场那一期
pikachu靶场搭建+通关教程2025_pikachu平台搭建的八个注入实验教程-CSDN博客https://blog.csdn.net/mc11451419198/article/details/149855255?spm=1011.2415.3001.5331headers:数据包头,如ua、referer、ct等,可以使用burp suite抓包后复制粘贴,或者自己写一个
data:账户密码以及登录按钮,其实这个函数你可以随便定义的,你定义payload都可以,如果不知道里面写什么,你自己抓个包就知道了
cookie:就是身份验证的,抓包里面也会有的
requests.post(url,headers=headers,data=data,cookies=cookies):里面的headers=headres就是键=值,也就是key->value的写法的
response.text.find:是寻找返回的页面里面是否有字符串success
response.text:就是网页给你返回的页面,不过是正常编排的
response.content:横向的网页,并且是返回的二进制数据
"success" in response.text.lower():在返回的页面代码里面寻找字符串success无论大小写
基础命令(指纹探测)
print("状态码:",xy.headers):访问服务器返回的headers头,可以在里面探测指纹,只需写个判断就好
print("状态码:",xy.cookies):访问服务器返回的cookie
基础配合(burp suite)
requests(url=url,proxies=proxies)
#其中的proxies是设置burp suite代理用的,比如说我用的burp suite是在本地,那我就127.0.0.1
requests(url=url,verify=False)
#关闭 SSL 证书验证
python脚本例子:
burp suite接收:
注意:这里需要burp suite抓包才能让python返回那些输出的值
基础测试(目录扫描工具编写)
参数介绍:
f.readline() #读取文件内容,只读取一行
f.readlines() #读取文件的所有内容
f.read(10) #读取文件里的字节,这里写的是10,读10个字节
with open("filename.txt", "r") as f:
#读取字典里的内容,test.txt是字典的位置,r是代表以只读的方式打开,既r=读、w=写、x=执行,然后as f就是把这里所读取到的所有东西都复制给变量f,with就是资源管理器,说人话就是读完文件后自动关文件。
encoding='utf-8'
#用于读取文本里的中文的,因为文本里如果有中文的话编码得是utf-8才行,顺手写就好
strip()
#去除空格,因为正常读取文件里面的东西如果换行了的话文件内容都是hello\n的,所以得用这个参数
random.choice()
#随机抽取的函数,记得引用import random
读取字典编程图片:
with open(r'C:\Users\Administrator\Desktop\新建 文本文档.txt','r',encoding='utf-8') as zidian:for line in zidian:print(line.strip())
拼接url+字典:
url写入文件
随机ua头
例子1:通过自定义多个UA头然后使用random函数来随机抽一个
例子2:通过第三方库来使用最新的ua头
基础测试(指纹探测)
参数介绍
xy=requests.options()
xy.headers(Server) #服务器系统探测
xy.headers(X-Powered-By) #服务器的脚本语言
xy.headers(Content-Length) #服务器返回的正文大小
xy.headers(date) #服务返回时间
#可利用的凡是支持 WebDAV(或管理员手动开启 PUT/MOVE)的 Web 服务器都可能响应
代码截图:
完整判断代码:
Python红队攻防脚本零基础编写:入门篇结束
后面我还会出入门二三然后还有进阶的,只不过那是后面的事情了,先学着吧