概述
这次比赛web就俩题,一个云waf没人做,众测本来也不一定是一定绕过的么。这道web题只有四个队没做出来,也是后来放的提示太狠了。我是坑都绕完了提示才放,显然我动作太慢了。
扫目录
AWVS可能扫出常用的英文单词,dirsearch可以自定义目录
- AWVS
- robots.txt
- index.php
- login.php
- hack.php
- hint.php
- dirsearch
- admin/admin.php
- admin/index.php
cookie绕过
- cookies:isLogin=0,改为1绕过login
- 访问admin.php,重定向url:admin/admin.php?file=index.php&ext=php
文件包含
- 试着用php://filter读源码和php://input执行php失败??如何做到???
- 可以包含本目录下的文件../好像被过滤
- …/./可以读上层,知道过滤方法是将../删掉
- 没地方上传,没法传马包含,没思路了
- 后来tc的提到日志是可控的!!!
- 提示nignx的配置文件
nignx配置文件
- 导致/web-img../可以遍历路径??location alias!!
- 访问/usr/share/nginx/html却直接下载index.php
- 直接在url键入/usr/share/nginx/html/hint.php
- 拿到所有源码
flag在FLAGFLAGFALG.pacpng中
- 因为没有在路径遍历里找到这个文件?日期排序?
- 所以以为要连上hack.php这个后门文件,然后shell搜索
- 浪费了好多时间
FLAGFLAGFALG.pacpng就在web目录下
- 403
- 遍历403
- include包含拿到数据包
weevely后门数据包分析
- 解密脚本
<?php
$kh = "42f7";
$kf = "e9ac";
$data='TK5N+dVrUddmeq1+KZavLf14Svms969i5gujFzt3FxJ+ZChBB0g3zqFwOEnsezsdXWxsIGUog3Dg';
function x($t, $k) {
$l = strlen($t);
$c = strlen($k);
$o = "";
for ($i = 0;$i < $l;) {
for ($j = 0;($j < $c && $i < $l);$j++, $i++) {
$o.= $t{$i} ^ $k{$j};
// 0 ^ 0 = 0;1 ^ 1 = 0;0 ^ 1 = 1;1 ^ 0 = 1;
}
}
return $o;
}
$k=$kh.$kf;
echo gzuncompress(x(base64_decode($data),$k));?>