1.代码审计
题目地址:https://ce.pwnthebox.com/challenges?type=5&page=2&id=666
打开靶机后,发现是两段相同的md5,尝试解一下发现是空密码
想起之前的目录扫描了(刚刚掌握没事都想试试【😀】)
对靶机进行扫描后,发现了一个 /index.php.bak
在url后面加上后,会下载一个文件(这个文件应该是.php格式的,当然不用代码编辑器打开的话改不改格式我觉得无所谓)
下载后转而进入代码审计
<?php
include_once "flag.php";
ini_set("display_errors", 0);
$str = strstr($_SERVER['REQUEST_URI'], '?');
$str = substr($str,1);
$str = str_replace('key','',$str);
parse_str($str);
echo md5($key1);
echo md5($key2);
if(md5($key1) == md5($key2) && $key1 !== $key2){
echo $flag."取得flag";
}
?>
这个时候,对于代码审计这一块,我们要自上而下,从简到繁来入手。假设我们是电脑,我们会如何运行这段代码
在这其中,对于不懂的地方我们可以及时询问大佬【抱紧大佬的大腿】也可以求助于可爱的度娘
【好了好了,为了节省时间,我把这段代码里一些】
strstr($_SERVER[‘REQUEST_URI’], ‘?’); //截取?后面的值
str_replace //把?后面所有有关key的值全部替换成空格
所以这里我们可以用kekeyy绕过第一个过滤;然后在用数组绕过第二个过滤,因为md5()函数无法处理数组
最后的paiload为:
payload:?kekeyy1[]=a&kekeyy2[]=b
2.login1
题目链接:https://ce.pwnthebox.com/challenges?type=5&page=2&id=648
这个题就不上图了
PTB里嘉然然师傅的wp借用了burp suite
但其实,你打开靶机后,正常情况下你是需要注册的,这个时候你随便注册一个,再去登陆的时候,会提示你,不是管理员还想登陆?
与管理权限相关的有:admin、users、root等
能够尝试出来,我最后使用的是admin [这里有一个空格哦,算是一个绕过了];password:Test1234
3.flag在这里
题目链接:https://ce.pwnthebox.com/challenges?type=5&page=2&id=632
用火狐打开靶机,F12进行开发者工具模式下的网站,进行抓包,
点击超链接 flag在这里 后会出现404,此时看F12的抓包中的请求头里,有一个flag标志,将其后面的base64进行解码