1.在vps安装docker和docker-compose
安装docker
2.tomcat 弱口令
vim 打开docker-compose.yml文件修改一下端口号为8888防止出现端口占用。
GitHub复制到vulhub的包体后进入目录,打开到要实验的tomcat部分。
利用docker-compose命令启动
浏览器输入服务器公网ip加指定的端口号成功进入tomcat界面。
点击manageapp,输入用户名密码tomcat后成功进入tomcat的后台管理界面.
为了进入到tomcat的后台,我们还要上传一句话木马。
在虚拟机安装openjdk.
新建一个名字为shell的jsp文件,内容为一句话木马。
用java的jar命令把目标打包为war文件
把war文件拖到本地里来
本地打开tomcat网页,找到war文件上传处把我们打包的shell.war传上去
可见我们上传了shell文件,现在尝试用蚂蚁剑连接
成功连接。
形成原因与利用
上传的压缩包.war不会被解析,因此直接访问 xxx/里面的一句话路径,可直接拿到shell。
找到上传点,上传带有一句话jsp文件的war包;访问攻击ip地址文件路径,再用 webshell 连接工具进行连接。
3.weblogic 弱口令/任意文件读取
打开weblogic weakpassword部分。
拉取网页内容
进入界面后用默认密码weblogic/Oracle@123登录
http://公网IP:7001/hello/file.jsp?path=/etc/passwd可以下载到密码文件
用Bp抓包SerializedSystemIni.dat和config.xml
http://IP:7001/hello/file.jsp?path=security/SerializedSystemIni.dat
http://IP:7001/hello/file.jsp?path=config/config.xml
形成原因
存在弱口令。
WebLogic 的某些版本存在任意文件读取漏洞,攻击者可以通过未授权的方式读取服务器上的敏感文件。
4.apache换行解析
在httpd/CVE-2017-15715启动靶场
bp抓包进行查看
成功上传
形成原因
Apache HTTPD的2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,【XX.php\x0A】将被按照php后缀进行解析,导致攻击者可能利用此漏洞绕过安全策略。
RCE漏洞的原理、利用条件及解决方案
原理
RCE漏洞通常指的是,由于系统对用户输入的安全校验不严格,导致恶意代码被注入并执行。典型的RCE原理包括:
输入未过滤:系统或应用程序直接使用用户输入的内容执行命令,而没有对输入内容进行适当的过滤和验证。
代码注入:攻击者通过特制的输入,在执行过程中插入恶意代码,并使其与正常代码一起执行。
命令执行:如果程序直接调用系统命令(如shell脚本),并将用户输入作为命令参数,那么攻击者可以通过构造恶意参数来执行任意系统命令。
利用条件
存在可被利用的输入接口:应用程序接受并处理用户输入,并在处理过程中调用底层代码或系统命令。
缺乏有效的输入验证:程序没有严格过滤或验证用户输入,使得恶意代码可以进入程序的执行流。
存在可访问的漏洞点:攻击者需要能够访问到含有RCE漏洞的接口,通常是通过网络或其他远程连接方式。
解决方案
输入验证与过滤:对所有用户输入进行严格的过滤和验证,确保输入内容不会被直接用于执行命令或代码。可以使用白名单策略,确保只允许合法的输入格式。
使用参数化接口:避免将用户输入直接传递给命令执行函数,应该使用参数化的方法(如在数据库查询中使用预处理语句)来防止代码或命令注入。
最小权限原则:确保程序仅在必要的权限下运行,即便出现漏洞,攻击者也无法通过该漏洞获取更高的系统权限。
安全更新:及时更新系统和软件,修补已知的安全漏洞。很多RCE漏洞是在旧版本软件中存在的,通过升级可以避免这些问题。
隔离与沙箱:将敏感操作或用户输入部分放置在隔离的环境中(如容器或沙箱),即使发生RCE,也能将影响控制在较小范围内。