命令执行写webshell总结

作者:Leticia’s Blog 前言

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

寻找web路径

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

1.文件查找法

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

图片[1]-RCE漏洞利用-命令执行到webshell全流程操作

2.源码查找法

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

图片[2]-RCE漏洞利用-命令执行到webshell全流程操作

3.history等

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

图片[3]-RCE漏洞利用-命令执行到webshell全流程操作

写入webshell

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

1.echo直接写入

图片[4]-RCE漏洞利用-命令执行到webshell全流程操作

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

2.base64写入

图片[5]-RCE漏洞利用-命令执行到webshell全流程操作 

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

3.绕过重定向符

图片[6]-RCE漏洞利用-命令执行到webshell全流程操作 

重定向符>不可用时,我们可以将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

图片[7]-RCE漏洞利用-命令执行到webshell全流程操作

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

5.hex写入

hex写入与base64写入相似,在 https://www.107000.com/T-Hex/
将webshell编码成hex,使用xxd命令还原

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

图片[8]-RCE漏洞利用-命令执行到webshell全流程操作 

然后命令注入执行

图片[9]-RCE漏洞利用-命令执行到webshell全流程操作

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容