1.点击上传php文件,得到提示,不允许上传php
查看源码,允许上传的文件类型为.jpg/.png/.gif
禁用js(不知道为啥),然后就上传成功了。第二种方法就是先将上传的文件类型改为允许的类型,然后用burp抓包,把后缀名改回php。(第二题的方法)
2.查看源代码,文件类型白名单为下图圈住的,然后绕过它有两种方法,第一种为改后缀名,第二种为改文件类型
第一种,先改为.png
用burp抓包,把.png改为.php 然后放包
然后上传成功了
第二种,上传php文件,抓包,将文件类型改成image/jpeg.
3.先试着上传一个php文件,看看报错提醒,
查看源代码,不允许上传这些后缀文件,(一想到的应该是用前两个题的方法来上传php文件,但是,不太行),所以试试畸形文件名,例如php1,php2····等,
然后发现上传成功了,但是不能执行php文件的内容
然后,就需要修改APACHE的配置文件,(我改了,但还是没啥反应)
4.查看源码,发现黑名单没有.htaccess,所以,可以上传一个.htaccess的文件
利用这个文件,再上传一张php文件转化成的图片,利用这些来打开php文件(没懂)
5.查看源码,发现几乎禁用了所有的后缀,.htaccess也进入了黑名单,说明不能用第四题的方法 ,只能再仔细从源码中找漏掉的条件
畸形后缀,文件名后面的.,和转化为小写,除去空格,去除字符串这些都有,但是没有多个后缀文件解析,所以,就可以在原来文件名的基础上再加点后缀,如.php.xxx.xx.x就可以上传成功了。
6.看源代码,跟第五题相比, 它少了转换成小写的条件,所以就可以将后缀名改为.phP,大小写交替的写就可以上传了。