各位小白帽们好
又到了新一期的知识点时间了

上期我们介绍过
HTTP中最简单直白的GET请求
把请求参数嵌入到URL的做法
当然上期也有提到这种办法隐私性比较差
像是密码之类的敏感信息
附在URL上就很容易有泄密的风险
那么我们今天就要来谈一下
相对来说隐私性好一点的POST请求
台底交易的GET请求
作为两种常用的HTTP请求
POST请求对比GET
不仅参数藏的更隐秘
而且支持的内容种类也更加丰富

如图所示是我通过Burp截取的一个普通的POST请求包
与GET有类似的地方
参数和值传递的模式依然是以
参数名=参数值&参数名=参数值
这样的方式进行传参的
但是因为这段内容不包含在URL中
而是放在请求体里面
通常浏览器也不会将这些参数记录下来
因此相对来说就不那么容易泄露了

除了一般的请求
我们平常的文件上传
也是通过POST请求传递的
格式相对而言也比较复杂
上面是一个上传文件的请求范例
不过自己要伪造请求的话
通常是自己写一个上传文件的表单进行抓包再套用的
*附加题:我刚刚上传的这个文件,是什么类型的一句话木马呢?(三个字)
解答后将答案发送到公众号,正确的话会给你返回带有积分的flag哦
虽说POST请求是台底交易
但是其实也是防君子不防小人
通过网络抓包依然可以使得请求内容原形毕露

所以为了安全考虑
HTTPS和应用层面的参数加密(例如密码摘要算法)
也是十分必要的
最后谈到伪造POST请求
方法也有很多
一般浏览器的调试模式
就可以提供简单的请求修改功能
但是这就显得不够专业了

我们也有很多专业的工具可以更方便地伪造POST请求内容
首先我们上周群内提到的Burp工具
通过抓到原始的请求包
将其发送到Repeater进行修改发送
即可达成目标
(如果Burp使用还不熟练,可以留意后续的专门介绍)
除此之外
我们也推荐一个SQL注入和请求伪造的小工具
Hackbar(firefox、chrome)

常用功能包括
Load URL:读取当前页面的URL地址
Split URL:对URL中的GET请求参数进行分割,方便阅读
Post data:选中可以开启POST方法请求,下面可以填上要传入的POST参数
Referer、User Agent、Cookies:选中可修改头部的相关字段内容
Execute:发送请求
虽然功能没有Burp完全
但是对于基础的请求修改
也绰绰有余了
而且不需要抓包重放的复杂操作
简化了渗透流程
提高渗透效率
那么在讲完今天的知识点后
我们来讲讲我们的练习题
WEB题POST OFFICER
老规矩,先审题:
$what=$_POST['what'];
echo $what;
if($what=='flag')
echo 'flag{****}';
与上一题几乎一样的配置
只不过$_GET获取的参数
这次通过$_POST获取了

Burp解法:
1、先进行代理设置并抓包
2、发送到Repeater进行修改

3、将捕获的GET请求修改成POST请求

4、加上我们的参数后发送

又或者
Hackbar解法

小手一抖分数到手
大家如果还没有做出的话
记得一定要尝试一下这题哦
那么我们下期再见

1941

被折叠的 条评论
为什么被折叠?



