Web_XCTF_WriteUp | weak_auth

发布时间 2023-11-28 09:28:33作者: Guanz

题目

分析

输入用户名 “test”,密码 “123” 进行尝试:


确定用户名为 “admin”。此时 url 后接了一个 “check.php:


试图查看文件,但失败了:


标题的意思的弱身份验证,这……不会要靠一个个猜吧……

浅试了下 123456,过了(啊?)


看了看佬的 WP,用 Burp Suite 破解才是正确方式。链接附在尾部了。






————————————————————— 以下为 Burp Suite 初学者的操作步骤 —————————————————————

创建一个临时项目:


启动 Burp:


点击目标,打开内嵌浏览器,把场景的 url 贴进去(或许可以直接在“代理”里打开内嵌浏览器):


点击“代理”-“拦截已关闭”打开拦截:


在内嵌浏览器的靶机窗口中尝试输入用户名 “admin” 和密码 “123” 并提交,代理窗口拦截到请求:


右击空白处,选择“发送到 Intruder”:


点击 Intruder。因为我们已经确定用户名为 “admin”,只需要爆破密码即可。

选中我们传入的密码字段,点击“添加 payload 位置” 插入 payload 标记(不知道为什么我的程序光标出现偏移,这里选中 “123” 即可)。

payload 标记范围内的字段就是接下来我们要爆破的字段范围。


点击 payload 选项卡,对爆破输入的范围进行设置。

一般选择“payload 设置” 中的“从列表中添加”,如果自己有字典的可以选择“从文件加载”载入字典进行爆破。

因为之前已经把密码给试出来了(……),浏览了一下列表里的选项发现没有符合条件的选择,于是去找了几个字典文件加入:


点击“开始攻击”,稍等片刻:

浏览了一下发现所有条目的状态码都是 200,查询相关资料才知道 200 仅代表服务器成功返回网页,并不能表示攻击成功。但我们(也许)可以通过响应长度对筛选返回的信息。


对 “长度(Length)” 列进行排序,发现大多为 470,双击条目查看详情可知返回了个 “password error”:


还有一部分条目的响应长度为 471,对比响应内容发现差异存在于 Keep-Alive 的 max(maxKeepAliveRequests) 属性:

但依旧是 “password error”。


查看唯一一条长度为 474 的响应报文,得到返回的 flag:

Flag

cyberpeace{954301f5cdc56a2c7931027dc4aaf95e}

参考

攻防世界题目:weak-auth-彼岸花苏陌-CSDN
[Network Analyzer] BurpSuite v2023.10.3.4汉化无cmd框版(2023.11.10更新)-Datch-吾爱破解
常见的弱口令&密码字典下载网站-simeon-知乎
分析Burp Intruder攻击结果-zsx0728-CSDN
HTTP中200、302、304、404和500等响应状态码含义-Mr_Bobcp-CSDN
Http——Keep-Alive机制-曹伟雄-博客园