有如下注入点:

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 会自动在原有的基础上自动进行更新

最新文章

  1. iOS 获取当前点击的坐标
  2. python 模拟登陆,请求包含cookie信息
  3. Stanford大学机器学习公开课(三):局部加权回归、最小二乘的概率解释、逻辑回归、感知器算法
  4. 如何让Targetprocess 中 webhook 推送comment 到指定的项目
  5. 在线QQ客服 生成
  6. 要将serviceLocator注入到任何类中
  7. Perl文件读写
  8. objective-C 中两种实现动画的方法
  9. freeCodeCamp:Missing letters
  10. 日志文件C++ 时间 文件 行数
  11. mysql 命令
  12. Git简介及安装和简单配置
  13. 佛祖保佑 永无BUG 永不改动
  14. WPF中静态引用资源与动态引用资源的区别
  15. python2与python3编码问题
  16. day3 自定义指令详解
  17. Windows环境下消息中间件RabbitMq的搭建与应用
  18. 2019南昌网络赛G. tsy's number
  19. I/O中断处理详细过程
  20. 通过ALT+F9关键CALL追踪注册码

热门文章

  1. postman md5加密 然后传给下一个接口作为参数调用
  2. day06 小数据池和编码
  3. 【BZOJ5248】【九省联考2018】一双木棋(搜索,哈希)
  4. spark(二)
  5. shell中的引用
  6. git使用笔记(十三)ls-files
  7. iOS之富文本(一)
  8. HDU 5489 二分 LIS
  9. Messenger 进程间通信
  10. 【题解】彩色树 51nod 1868 虚树 树上dp