ctf-web:Burpsuite工具应用
抓包
BurpSuite 是非常实用的抓包工具,使用 Burp Suite 之前需要先在 Firefox 设置代理。首先需要打开 Firefox 的设置页面,选择网络选项。
选择手动代理配置,BurpSuite 的 HTTP 协议默认代理是 127.0.0.1 的 8080 端口。
设置之后,Firefox 的 HTTP 包在发送请求之前,需要先发给 Burp Suite 看一遍,然后再由 Burp Suite 选择放包才能把包传出去。
例题:bugku-你必须让它停下
打开之后,看到页面不断在刷新,切换得很快使得无法看源码。
打开 BurpSuite 抓包,不停地 GOGOGO!
终于在抓到的某一个包中,看到了 flag。
例题:攻防世界-baby_web
打开网页,看到一个 “Hello,world!”,根据提示初始页面应该是 index.php,但是这里确实 1.php。
修改 url 后还是这个页面,怀疑是打开 index.php 之后马上跳转到 1.php 页面了。此时是没有办法看到 index.php 页面的,通过抓包查看响应报文得到 flag。
HTTP 报文修改
BurpSuite 在抓到包之后,可以对抓到的 HTTP 进行编辑,可以变更 HTTP 的请求方式或者添加字段。
经常需要添加的字段有 2 个,首先是 Referer 字段,它是 header 的一部分,用于告诉服务器该网页是从哪个页面链接过来的,服务器因此可以获得一些信息用于处理。还有一个字段是 X-Forwarded-For,用来识别通过 HTTP 代理或负载均衡方式连接到 Web 服务器的客户端最原始的 IP 地址的 HTTP 请求头字段。
例题:bugku-web 基础 $_POST
打开网页,题目要求我们使用 POST 方法提交 flag 值上去。
这里可以使用火狐浏览器的 Hackbar 插件,也可以用用 Python 的 requests 库的 post 方法提交一个字典上去。也可以打开 BurpSuite 抓包,抓到的包是 GET 请求。
修改该请求为 POST,并且附加上“what=flag”的信息,放包。
例题:bugku-你从哪里来
打开题目,题目问我们是不是来自 google。
由于我们需要告诉服务器该网页是从 google 过来的,因此我们应该修改 HTTP 的 referer 头为 google 的。首先抓包:
然后在包中自己加上个 Referer 字段,内容为 “https://www.google.com”,上传就可以得到 flag。
例题:bugku-管理员系统
随便输个数字进去,获得提示“IP 禁止访问,请联系本地管理员登陆,IP 已被记录”。
也就是说现在我们需要伪装成本地登录,此时想到了“127.0.0.1”这个 IP 地址表示回送地址,本地机用来测试使用。因此我们应该要构造一个 X-Forwarded-For 来提交,值为本地测试地址:
X-Forwarded-For: 127.0.0.1
现在提交 HTTP 包,发现此时的输出已经变了。但是还没成功,现在考虑下用户名和密码。
用 F12 打开网页,发现一个可疑的字符串,是一段 base64 加密,解开是“test123”。
应该就是密码了,因为是管理员,就猜测用户名是 admin。现在把上述所有内容提交,获得 flag。
爆破
BurpSuite 支持对报文中的某些部分进行爆破,例如在已知用户名的情况下拿到一个登录页面,我们可以通过穷举法爆破密码来达到强行登录的效果。
爆破的操作是将 HTTP 包发给测试器,用 “$” 符号选定爆破操作的位置,选择合适的有效载荷(例如密码字典或自然数序列等)和攻击模式后就可以进行爆破。判断爆破结果是不是我们想要的方法是,看看返回的 length,在爆破样本中具有不同 length 的负载就可能是我们想要的东西了。
例题:bugku-输入密码查看 flag
打开网页,提示爆破 5 位密码。
首先随便写个密码,打开 BurpSuite 抓包,把包送到测试器后选择爆破类型为数字。
还没爆破完就有戏了,发现一个可疑密码“13579”,输入得到 flag。
例题:bugku-网站被黑
打开网页,网址后有 webshell,这是以 asp、php、jsp 或者 cgi 等网页文件形式存在的一种代码执行环境,是一种网页后门。
使用御剑扫描下后门,发现 3 个网页,其中 shell.php 最可疑。
打开,发现需要输入密码,那就使用 BurpSuite 爆破喽。
先随便填个密码进去,BurpSuite 抓到包后发给 Intruder 模块,使用狙击手攻击。
点击有效载荷,在有效载荷选项下的从列表中添加下的密码,然后开始攻击。
发现一个可以的密码 “hack”,它的长和其他的都不一样,那应该就是密码了,输进去获得 flag。
例题:攻防世界-ics-06
打开页面,看上去是个很高端的页面,翻一翻只有这个页面有反应,根据提示 flag 应该和这个页面有关。
F12、抓包和扫后台都没有什么有用的信息,观察到 url 上已经用 GET 方法传递了值进去,猜测 flag 可能需要修改 id 参数。随便改几个参数,页面没有什么变化。
此时大胆猜测当 id 等于某个值时就会出现 flag,但是人工尝试工作量很大。使用 Brup 爆破是比较好的做法,首先用 Brup 抓包。
把包传给 Intruder 测试器,攻击类型选 Sniper,设置爆破点为 id 参数。
设置有效载荷为数字,从 0 到一个比较大的数,增量为 1。
开始攻击后等上一会儿,爆破到 2333 时发现 length 不一样,也就是说当 id = 2333 时就能看到 flag。
转载自:https://www.cnblogs.com/linfangnan/p/13546089.html