[CTF问题] 【web基础$_POST】抓包改包后为什么不回显?

[复制链接]
回帖奖励 1 银两      回复本帖可获得 1 银两奖励! 每人限 1 次(中奖概率 60%)
查看4088 | 回复1 | 2017-11-26 12:59:53 | 显示全部楼层 |阅读模式
本帖最后由 wasrehpic 于 2017-11-26 13:18 编辑

0x00 题面很简单,即POST一个数据what=flag后,爆出flag
[mw_shl_code=php,true]$what=$_POST['what'];
echo $what;
if($what=='flag')
echo 'flag{****}';[/mw_shl_code]


0x01 一开始用bp抓包改包的方法,添加POST数据what=flag:
1.png
2.png

但输出没有反应:
3.png

0x02 改用Firefox自带Web调试工具编辑重发(由于更新了Firefox,Hackbar用不了TAT):
4.png
仍然没有反应:
5.png

0x03 最后用Python脚本:
[mw_shl_code=python,true]# Python3.6

import requests
url = "http://120.24.86.145:8002/post/"
post = {'what':'flag'}
print(requests.post(url, data = post).text)[/mw_shl_code]

终于爆出flag:
6.png


在此问一下各位大佬,为什么用抓包改包的方法不行?是不是哪个步骤错了?求解,万分感谢!

回复

使用道具 举报

wasrehpic | 2017-11-27 15:17:30 | 显示全部楼层
本帖最后由 wasrehpic 于 2017-11-27 15:19 编辑

近日,越南大神 mxcx 针对 Firefox 新版推出了 Hackbar 的替代品,叫 New Hackbar ,在此奔走相告。
题主用 New Hackbar 改包提交 what=flag 后,是能够回显 flag 的,因此用 burpsuite 抓取修改后的包,发现了问题所在。

经过对比,直接抓取原始 GET 请求的包,比修改后的 POST 请求包,在请求头部分少了一条关键属性:

[mw_shl_code=html,true]Content-Type: application/x-www-form-urlencoded/[/mw_shl_code]

添加此属性后在 burpsuite Repeater 中终于能够回显 flag。

QQ图片20171127151811.png

题主对 HTTP 协议也不是非常了解,关于此属性的作用可参考以下几篇文章:
https://www.cnblogs.com/taoys/archive/2010/12/30/1922186.html
https://www.cnblogs.com/kaibin/p/6635134.html
https://www.cnblogs.com/wushifeng/p/6707248.html

希望对大家有所启发,避免踩坑。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

0

主题

3

帖子

21

积分

初入江湖

Rank: 2

积分
21