博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Sqlmap与burpsuite动态更新某些参数
阅读量:5221 次
发布时间:2019-06-14

本文共 1036 字,大约阅读时间需要 3 分钟。

有如下注入点:

http://localhost/id=1&order_nu=1

 

 

情况说明:

id为注入点,  每一次注入时, order_nu不能跟上次的一样(假说这个order_nu为一个订单号, 提交一次时会进入数据库查询是否存在,存在时直接提示订单号存在并退出, 而且它不为注入点)。

如:

http://localhost/id=INJECT&order_nu=1 注入http://localhost/id=INJECT&order_nu=a 注入http://localhost/id=INJECT&order_nu=d 注入http://localhost/id=INJECT&order_nu=1 不能注入, 因为刚才运行过order_nu=1的语句了

 

 解决方按:

每一次注入id参数的同时, 修改order_nu为不同的值。

 

一开始用sqlmap tamper没能实现, 当时实现方法为:

payload = payload+&order_nu=time.time()

 

这只是一个伪代码, 也就是在现有的payload添加多一个参数order_nu, 且值为变动的time.time值。

注入时语句写成:

http://localhost/id=INJECT

 

因为id为注入, 在payload中会自动加入参数: &order_nu=time.time()的值 。

但最后未能成功, 因为 payload 会自动urlencode编码, 把  &order_nu=time.time中的 &  =  编码掉了。

 

 

最终我的解决方案为:

burpsuite 创一个宏来转换。

 

 

要注意的是, 比如原始链接为:

http://localhost/id=INJECT&order_nu=d

 

我们这里去掉后再重新访问一次, 之后再添加上原来的参数:

 

这里的参数设置为页面中会自动动态更新的参数, 如这里的时间值。

 

之后在sqlmap中设置 --proxy 代理, 指定要测试的参数(-p) id, 或跳过测试参数(--skip) order_nu, 经过 burpsuite即可。 下面是动态更新时的情况。

 

 

 

 

补充:

关于宏中参数的设置, 如果自带源码中没有, 可以像上面一样添加, 如果存在的话, 也可以像上面一样添加, burpsuite 会自动在原有的基础上自动进行更新

 

转载于:https://www.cnblogs.com/perl6/p/7416441.html

你可能感兴趣的文章
使用shared memory 计算矩阵乘法 (其实并没有加速多少)
查看>>
MySQL常用的函数
查看>>
Django 相关
查看>>
ArcGIS自定义工具箱-字段合并
查看>>
git init
查看>>
Vue(day8)
查看>>
sshpass ssh登录时自动输入密码
查看>>
训练记录
查看>>
【转】ubuntu16.04设置python3为默认及一些库的安装
查看>>
算数几何均值不等式,柯西不等式,琴生Jensen不等式
查看>>
mysql group by的用法 注意
查看>>
IList和DataSet性能差别 转自 http://blog.csdn.net/ilovemsdn/article/details/2954335
查看>>
Python中的join()函数的用法
查看>>
Hive教程(1)
查看>>
黑马程序员-指针的初步认识
查看>>
提示未授予用户在此计算机上的请求登录类型
查看>>
Java集合框架学习
查看>>
第16周总结
查看>>
将Cent0S 7的网卡名称eno33改为eth0
查看>>
透明度Opacity多浏览器兼容处理
查看>>