DVWA-1.9之fileupload

low级

对文件类型没有任何约束,可直接上传“一句话木马”hack.php,连接冰蝎。
一句话木马 :

medium级

源代码

if( ( $uploaded_type == "image/jpeg" || $uploaded_type == "image/png" ) &&
( $uploaded_size < 100000 ) )
可以看到,代码对文件的类型和文件的大小,做了限制。

思路:

将webshell文件上传,然后利用burp进行抓包,可以看到服务器判断文件类型的方式有两种,一种是filename,一种是content-type。
如果上传的是php格式的,可以修改 content-type的值,来绕过上传限制
如果上传的是jpg格式,可以修改filename的值,来完成上传webshell

high级

源代码

if( ( strtolower( uploaded_ext ) == "jpg" || strtolower( uploaded_ext ) == "jpeg" || strtolower(uploaded_ext ) == "png" ) &&( uploaded_size < 100000 ) &&
getimagesize( $uploaded_tmp ) )
可以看到,代码对文件后缀,文件大小,文件类型,做了限制,这里要注意 getimagesize()函数,该函数可获取图片的宽高等具体信息。因此,只修改文件后缀是无法绕过的,找一张 jpg格式的图片,使用 命令 copy img.jpg/b+hack.php/a hack.jpg 其中,img.jpg/b中“b”表示“二进制文件”,hack.php/a中“a"表示ASCII码文件,hack.jpg表示生成的新文件的名称。

思路:

将webshell与图片合并后,即可上传,但由于不是 .php文件所以无法执行。此次需要利用文件包含漏洞,修改一句话木马: '); ?> ,再次合成图片,重新上传,然后在DVWA的fileinclusion模块访问http://127.0.0.1/DVWA/vulnerabilities/fi/?page=file:///+“上传文件所在路径“,此时在DVWA文件包含漏洞的路径下便自动生成了PHP一句话木马脚本文件muma.php,到此可使用冰蝎进行连接。

impossible

你可能感兴趣的:(DVWA-1.9之fileupload)