IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> HACK学习黑帽子Python--漏洞检测脚本快速编写 -> 正文阅读

[网络协议]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格式。
在这里插入图片描述
通过读取文本的poc写一个递归,注意观察状态码,
在这里插入图片描述
通过sys模块请求
在这里插入图片描述

所以:整个过程,只需要发起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 string

url=sys.argv[1]

response=requests.options(url)
result=response.headers['public']

print(result)

在这里插入图片描述

通过读取文本目录的形式,批量扫描站点,返回状态码和请求OPTIONS相应包
在这里插入图片描述

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

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-11-17 13:06:20  更:2021-11-17 13:08:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年7日历 -2024/7/3 21:15:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码