目录
攻防世界-WEB新手练习区教程(二)
simple_js
xff_referer
weak_auth
command_execution
simple_php
攻防世界-WEB新手练习区教程(二)
simple_js
进入场景
需要输入密码 尝试了一下万能密码看看能不能绕过
没法绕过 根据题目提示js 那就查看一下代码
对于这一段源码解析可以参考文章XCTF_Web_新手练习区:simple_js(源代码详解)_1stPeak的博客-CSDN博客
看完解析之后结论就是,无论我们在弹框中输入什么值,都只会返回FAUX PASSWORD HAHA
而正确的flag存放在String["fromCharCode"]这一行中
将数据进行转换一下(/x是十六进制的数据)
转换后的是十进制数值 可以根据ASCII表进行对照
得到字符串 7860sErtk12
也可以采用脚本进行转换 可以参照我的文章 步骤写的很详细
python小记--攻防世界simple_js解题脚本编写_tzyyyyyy的博客-CSDN博客
flag出现
Cyberpeace{7860sErtk12}
xff_referer
Referer是请求header 的一部分,当浏览器(或者模拟浏览器行为)向web 服务器发送请求的时候,头信息里有包含 referer。比如我在www.sojson.com 里有一个www.baidu.com 链接,那么点击这个www.baidu.com ,它的header 信息里就有:Referer=https://www.sojson.com。由此可以看出来吧。它就是表示一个来源
进入场景
提示中说xff和referer是可以伪造的 由此联想到通过抓包修改数据包内容来伪造xff和refer的数据
打开burp抓包 并将抓到的包放入repeater中
添加X-Forward-For
X-Forward-For:123.123.123.123
点击go放包 查看回显
提示需要来自goole.com的请求 即为修改Referer的数据
flag出现
cyberpeace{1884ce0fcb708adc2ea2631904fb5712}
weak_auth
进入场景
尝试一下绕过
失败了~~~
那就尝试一下爆破 上burp
先抓包 并发送至intruder模块
修改一下我们需要爆破的地方
账号就先用个admin(毕竟好多登录的页面都有admin账户哈哈哈哈)
修改如下
设置字典
点击load加载字典(这个字典可以网上收集也可以私信我拿)
设置完毕之后 点击右上角 start attack进行爆破
点击一下length 发现了有一条回显长度不一样的密码 应该就是登录密码了 停止爆破 试试看能不能登录
输入账号admin 密码123456
登录成功 出现flag
cyberpeace{09c24fd232d8ffd2cb5d1855fa5b38f8}
command_execution
命令执行漏洞(command_execution)即使用者可以直接在Web应用中执行系统命令,从而获取敏感信息或者拿下shell权限。其造成的原因是Web服务器对用户输入命令安全检测不足(比如没加waf),导致恶意代码被执行。
ping用于确定本地主机是否能与另一台主机成功交换(发送与接收)数据包,再根据返回的信息,就可以推断TCP/IP参数是否设置正确,以及运行是否正常、网络是否通畅等
进入场景
先随便ping一下查看回显
输入127.0.0.1
结合下列管道符 构造恶意代码
; |
A;B |
先执行A,再执行B |
& |
A&B |
简单拼接,A B之间无制约关系 |
| |
A|B |
显示B的执行结果 |
&& |
A&&B |
A执行成功,然后才会执行B |
|| |
A||B |
A执行失败,然后才会执行B |
127.0.0.1;ls -al (ls是linux查看命令)
执行ls命令成功 证明存在命令执行漏洞
接下来只需要查找一下flag存储在什么位置 并通过相应的命令查看就可以了
127.0.0.1&& find / -name "flag*" (find是linux查找命令)
发现了一个flag.txt 继续查看
127.0.0.1 && cat /home/flag.txt (cat是linux查看文件命令)
flag出现
cyberpeace{f74d6bd12e101bf445e450819853dac5}
simple_php
进入场景
根据提示 此题需要进行php代码审计 输入符合条件的a b值 最终得到flag
a参数的要求 a必须等于0且a为真
b参数的要求 b不能为数字且b大于1234
当不同类型的值进行==比较的时候会发生类型转换
所以,可以使a=0a
b不能是数字,但又必须大于1234,这里可以用b=1235a
结合之后得到
?a=0a&b=1235a
flag出现
Cyberpeace{647E37C7627CC3E4019EC69324F66C7C}