有如下注入点:

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

Sqlmap与burpsuite动态更新某些参数的更多相关文章

  1. Android Handler传递参数动态更新UI界面demo

    package com.example.demo_test; import android.app.Activity; import android.os.Bundle; import android ...

  2. sqlmap和burpsuite绕过csrf token进行SQL注入检测

    利用sqlmap和burpsuite绕过csrf token进行SQL注入 转载请注明来源:http://www.cnblogs.com/phoenix--/archive/2013/04/12/30 ...

  3. JSPatch – 动态更新iOS APP

    原文:http://blog.cnbang.net/works/2767/ JSPatch是最近业余做的项目,只需在项目中引入极小的引擎,就可以使用JavaScript调用任何Objective-C的 ...

  4. JAVA代码热部署,在线不停服动态更新

    本地debug的时候,可以实时编译并更新代码,线上也可以不停服来动态更新类,即所说的java热部署.   JDK代理的两种方式: 1.premain方式是Java SE5开始就提供的代理方式,但其必须 ...

  5. django 动态更新属性值

    django 动态更新属性值 class TestTime(models.Model): """ 功能说明:指定测试的每一关总用时 """ ...

  6. mybatis(二)接口编程 、动态sql 、批量删除 、动态更新、连表查询

    原理等不在赘述,这里主要通过代码展现. 在mybatis(一)基础上,新建一个dao包,并在里面编写接口,然后再在xml文件中引入接口路径,其他不变,在运用阶段将比原始方法更节约时间,因为不用再去手动 ...

  7. IOS App动态更新

    框架 JSPatch WaxPatch react-native   方案对比 目前已经有一些方案可以实现动态打补丁,例如WaxPatch,可以用Lua调用OC方法,相对于WaxPatch,JSPat ...

  8. 利用sqlmap和burpsuite绕过csrf token进行SQL注入 (转)

    问题:post方式的注入验证时遇到了csrf token的阻止,原因是csrf是一次性的,失效导致无法测试. 解决方案:Sqlmap配合burpsuite,以下为详细过程,参照国外牛人的blog(不过 ...

  9. AsyncTask用法解析-下载文件动态更新进度条

    1. 泛型 AysncTask<Params, Progress, Result> Params:启动任务时传入的参数,通过调用asyncTask.execute(param)方法传入. ...

随机推荐

  1. a标签不能嵌套

    <a href='http://www.baidu.com'> <a href='http://www.google.com'></a> </a> &l ...

  2. pyhcarm github

    1.主题 介绍如何用Pycharm实打实的创建.运行.调试程序. 2.准备工作 Pycharm版本为2.7或者更高. 至少安装一个Python解释器,2.4到3.3均可 3.下载安装Pycharm 下 ...

  3. CF662C Binary Table 枚举 FWT

    题面 洛谷题面 (虽然洛谷最近有点慢) 题解 观察到行列的数据范围相差悬殊,而且行的数量仅有20,完全可以支持枚举,因此我们考虑枚举哪些行会翻转. 对于第i列,我们将它代表的01串提取出来,表示为\( ...

  4. UTF-8和GBK编码之间的区别(页面编码、数据库编码区别)以及在实际项目中的应用

    第一节:UTF-8和GBK编码概述 UTF-8 (8-bit Unicode Transformation Format) 是一种针对Unicode的可变长度字符编码,又称万国码,它包含全世界所有国家 ...

  5. Function.caller, arguments.caller, arguments.callee, arguments.callee.calller

    Function.caller指向当前函数的调用者,是arguments.caller的替代者 arguments.caller也是指向当前函数的调用者,已被废弃 arguments.callee是对 ...

  6. 【DP】【CF9D】 How many trees?

    传送门 Description 给你两个正整数\(n,h\),求由\(n\)个点组成的高度大于等于\(h\)的二叉树有多少个 Input 一行两个整数\(n,h\) Output 一个整数代表答案. ...

  7. maven 启动 tomcat 及 跳过 test 安装

    1.先在pom文件中配置 tomcat插件 <!-- 文件上传组件 --> <dependency> <groupId>commons-fileupload< ...

  8. 洛谷P1558 色板游戏

    题目背景 阿宝上学了,今天老师拿来了一块很长的涂色板. 题目描述 色板长度为L,L是一个正整数,所以我们可以均匀地将它划分成L块1厘米长的小方格.并从左到右标记为1, 2, ... L.现在色板上只有 ...

  9. js 时间戳 转化

    new Date((1524142795*1000)).toJSON().slice(11,16)

  10. 「Python」python绘制图表

    介绍一种简单而又功能强大的绘制图形或报表的包—pyecharts,一个基于Echarts(基于JS的数据可视化库)的图标类库,除了绘制常见的折线图.柱状图.饼图.箱型图和散点图外,还可以绘制3D柱状图 ...