web挖洞|HACK学习黑帽子Python--漏洞检测脚本快速编写

前言: 作为一名白帽,写脚本能快速的在挖洞过程中快速的批量验证。
为了让笔记更有实用性,这里以poc的形式:
01.如何发送HTTP请求
GET型: 01.有表单参数 request.get(url=url,params={}) params可以先用payload={‘username’:‘admin’}先代替
然后 params=payload
02.requests.get(url)
POST型: 01.request.post(url,params={}),params同上
02.requests.post(url)
02.HTTP请求能获取的内容
获取响应状态码 response.status_code
获取响应文本 response.content(二进制形式) response.text
获取响应头 response.headers
获取cookie: response.cookie
获取请求的url:response.url
断点: print("*"*100) 打印100位星星
03.构造获取的cookie格式:
cookie={“PHPSESSID”:“kjnn10iq765ucglt199cm7p666”,“security”:“low”}
构造请求头header格式:
headers={“User-Agent”:""}
构造参数格式(比如表单参数):
payload={‘username’:‘admin’,‘password’:‘1’,‘Login’:‘Login’}
04.读取文本文件
权限划分为三种: r w x
r:只读取 w:只写入覆盖之前内容
with open(‘dist.txt’,’'r) as f:
for line in f.readlines(): #每执行递归一次获取一行的值。
在检测之前,写一个目录爆破的脚本:
案例1:
地址: http://192.168.228.128:89/vulnerabilities/brute/
靶场需要携带cookie访问,cookie格式如上poc格式。
web挖洞|HACK学习黑帽子Python--漏洞检测脚本快速编写
文章图片

通过读取文本的poc写一个递归,注意观察状态码,
web挖洞|HACK学习黑帽子Python--漏洞检测脚本快速编写
文章图片

通过sys模块请求
web挖洞|HACK学习黑帽子Python--漏洞检测脚本快速编写
文章图片

所以:整个过程,只需要发起requests请求服务器,资源是否存在,存在200即爆破成功,直接套用poc即可。。
案例2:服务器banner漏洞检测:
01.了解通信协议
HTTP协议的通信协议: 标准方法: GET、POST、HEAD
扩展方法: PUT、DELETE、COPY、MOVE
WebDAV 作为文件共享服务器软件,开源,底层go编写
获取HTTP响应头允许的Allow部分:response.headers[“Allow”]
02.中间件隐藏措施
X-Powered-By :中间件版本信息,
php隐藏:修改 php.ini 文件 设置 expose_php = Off
apache隐藏:修改httpd.conf 设置 {ServerSignature Off;ServerTokens Prod}
nginx 隐藏 修改nginx.conf 在http里面设置 {server_tokens off}
03.获取服务器漏洞响应包
获取服务器开启的OPTIONS,{response=requests.options(url);result=response.headers[‘public’]}
获取服务器中间件,banner信息,{response.headers[‘Server’]}
先请求单个站点:

import requests,sys import stringurl=sys.argv[1]response=requests.options(url) result=response.headers['public']print(result)

web挖洞|HACK学习黑帽子Python--漏洞检测脚本快速编写
文章图片

【web挖洞|HACK学习黑帽子Python--漏洞检测脚本快速编写】通过读取文本目录的形式,批量扫描站点,返回状态码和请求OPTIONS相应包
web挖洞|HACK学习黑帽子Python--漏洞检测脚本快速编写
文章图片

结语: python漏扫脚本最重要在于漏扫架构,配合基础poc格式(同上),即可

    推荐阅读