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

news/2024/7/19 11:44:46 标签: python, web安全, 安全性测试, sql, 爬虫

前言: 作为一名白帽,写脚本能快速的在挖洞过程中快速的批量验证。

为了让笔记更有实用性,这里以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’]}

先请求单个站点:

python">import requests,sys
import string

url=sys.argv[1]

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

print(result)

在这里插入图片描述

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

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


http://www.niftyadmin.cn/n/929178.html

相关文章

SpringMVC框架03——数据绑定

1、绑定基本数据类型 在Controller类中添加业务方法: /*** 绑定基本数据类型*/ RequestMapping("/baseType") ResponseBody public String baseType(RequestParam("id") int id){return "id"id; } 访问: 2、绑定包装类 Co…

关于bootstrap

1 bootstrap是什么 bootstrap是前端开发框架,提供了前端开发的常用组件,加速了前端的开发。 2 bootstrap本质上是什么 bootstrap本质上是htmljscss,它提供了常用的页面组件,使得前端的工作更加的模块化,就像搭积木一样…

实战渗透浅谈--一次巧合偶然的sql注入

一直以来,都想摆脱sqlmap的束缚,通过自定义脚本来完成,–前言 某月某天,挖盒子过程中,burpsuite扫出某个sqli,花了点时间测了下,确实有些搞头。 是一个from子查询payload,select*f…

HACK学习黑帽子Python--Gitlab远程代码执行(CVE-2021-22205)脚本构造Poc

前言: 作为一名白帽,写脚本能快速的在挖洞过程中快速的批量验证。 为了让笔记更有实用性,这里以poc的形式: Gitlab由于文件解析器对上传的dvju格式的jpg文件校验不严,导致远程代码执行RCE, Poc利用链&…

聊聊如何设计千万级吞吐量的.Net Core网络通信!

原文:聊聊如何设计千万级吞吐量的.Net Core网络通信!聊聊如何设计千万级吞吐量的.Net Core网络通信! 作者:大石头时间:2018-10-26 晚上 20:00地点:QQ群-1600800内容:网络通信, 网络库使用方式网…

木棍加工——题解

题目:Problem 一堆木头棍子共有n根,每根棍子的长度和宽度都是已知的。棍子可以被一台机器一个接一个地加工。机器处理一根棍子之前需要准备时间。准备时间是这样定义的: 第一根棍子的准备时间为1分钟;如果刚处理完长度为L&#xf…

实战渗透浅谈--记一次傀儡注入工具到Getshell

时间: 2020-04 这是当时拿到第一个WEBSHELL,自己摸导出来的,思路比较简单,没有防护,, 1.掏出傀儡注入工具,(确实这一款工具比较牛逼,,) 2.拿出pa…

Android小知识-剖析OkHttp中的五个拦截器(下篇)

本平台的文章更新会有延迟,大家可以关注微信公众号-顾林海,包括年底前会更新kotlin由浅入深系列教程,目前计划在微信公众号进行首发,如果大家想获取最新教程,请关注微信公众号,谢谢 在上一节介绍了缓存拦截…