2024 ciscn 华东南赛区决赛 web
期末周终于结束了 也开始有时间做自己喜欢的事情了 先水一篇
2024ciscn 华东南赛区半决赛-web 学习
welcome
submit
存在两个检验 一个header检验 一个文件内容检验 上传一个变形后门就行
上传链接得到flag
粗心的程序员
www.zip存在文件泄露 审计源码
主要问题出现在home.php内
很明显的文件写入 这里可以写入恶意命令到comfig.php内造成命令执行 注意到存在两个可以控制的点
$p和$username
闭合后缀
注意到存在//作为注释符号限制了我们的恶意代码 但是注意到confige.php里面不存在?>
可以使用伪造xff 包含?> 绕过限制
构造用户名字为?><?php 绕过对xff的限制 xff写入一句话木马即可
/r截断
但是上面那个我铸币了 比赛的时候没做出来
本来想的是\n 可以绕过 但是发现对str处理了 去掉了\n 于是我就想到了\r这个符号
1 | \r :将当前位置移到本行开头。又叫回车,对应键盘上的return键 |
如果我拼接的语句里面存在\R会发生什么呢
1 |
|
查看输出
可以看到 \r将我们的指针指向第一位的t上 我们\r后的输入内容会逐个覆盖前面的相关输入
1 |
|
我们可以利用这个地方 覆盖掉前面的//注释符号
由于xff不能携带\r 只能构造username=\r@eval($_POST[‘1’]);\即可
1 | <?php |
Polluted
很奇怪的路由配置
污染app.key即可
1 | {"\u005f\u005f\u0063\u006c\u0061\u0073\u0073\u005f\u005f"{ |
发现需要污染[%%]标识符
1 | { "\u005f\u005f\u0069\u006e\u0069\u0074\u005f\u005f" : { |
污染标识符还是第一次见到 回头细细分析一下
bigfish
nodejs反序列化 没有接触过先放放