信息安全第八天作业

作业一:在vps安装docker和docker-compose

安装成功截图如下:

作业二:上课涉及的vulhub中的漏洞,全部复现,同时说明漏洞成因

tomcat 弱口令/后台文件上传getshell

在vps上查看端口,输入vpsIP地址:端口访问页面登录vulhub靶场

点击manager app,提示要求登录,我们输入弱口令用户名:tomcat密码:tomcat后访问后端

tomcat后台允许攻击者上传恶意的文件从而进行getshell,但这个后门木马于常见的以jsp结尾的文件不同,需要我们用冰蝎生成的木马打包成war包进行上传。打包指令:jar -cvf shell.war shell.jsp

上传:

用冰蝎欸添加数据进行连接,如图:

连接成功

漏洞成因:

登录依然使用的默认密码,弱口令登录

未对上传的war文件进行检测,没有对存储目录的操作设置权限限制

weblogic 弱口令/任意文件读取

输入指令查看端口,输入vpsIP:7001/console进入后台,输入弱口令用户名:weblogic,密码:Oracle@123

登录成功,如图:

访问http://vpsIP:7001/hello/file.jsp=/etc/passwd,可成功读取passwd文件,如图:

由于weblogic密码使用AES加密,先找到密文和密钥文件,进行解密访问http://vpsIP:7001/hello/file.jsp?path=./security/SerializedSystemIni.dat和http://vpsIP:7001/hello/file.jsp?path=./config/config.xml ,使用bp抓包

将第一个包的密文,保存最后64位到A.dat文件

同样找到第二个文件的密文,如图:

将第一个密文生成的文件和第二个密文使用weblogic_decrypt.jar解密,如图:

漏洞原理:存在登录弱口令,卫队目录设置权限操作,存在文件目录读取后门。

作业三:总结RCE漏洞的原理和利用条件及解决方案

RCE漏洞的原理:

代码执行函数的不当使用:开发人员在编写应用程序时,可能会使用能够执行系统命令或代码的函数,如PHP中的exec()、shell_exec()、system()、eval()等,或者Java中的Runtime.exec()等。如果这些函数的参数没有经过严格的验证和过滤,就可能被攻击者利用。

用户输入的未经验证:应用程序在处理用户输入时,如果没有进行适当的验证和过滤,就可能导致恶意代码被注入并执行。这种输入可能来自Web表单、URL参数、HTTP头或任何其他形式的用户输入。

第三方组件的漏洞:应用程序可能会调用第三方组件或服务,如果这些组件或服务存在代码执行漏洞,也可能被攻击者利用来执行任意代码。

RCE漏洞的利用条件:

存在可执行的代码执行函数:应用程序中必须存在能够执行系统命令或代码的函数,并且这些函数的参数是可控的。

用户输入未经验证:攻击者能够控制传递给这些函数的参数,且这些参数没有经过严格的验证和过滤。

漏洞的可访问性:攻击者必须能够访问到存在漏洞的应用程序或服务的接口,这通常意味着攻击者需要有足够的权限来提交恶意输入。

RCE漏洞的解决方案

严格的输入验证:对所有外部输入进行严格的验证和过滤,确保输入数据的合法性和安全性。使用白名单来定义允许的输入格式和类型,并拒绝任何不符合预期的输入。

使用安全的库和函数:尽量避免使用能够执行系统命令或代码的函数,如果必须使用,则应该使用安全的替代方案。同时,定期更新和修补第三方组件和服务,以防止已知的漏洞被利用。

最小权限原则:遵循最小权限原则,限制应用程序和服务的权限,只授予必要的权限来执行其任务。这可以减少攻击者利用漏洞执行恶意代码的能力。

代码审计和安全测试:定期进行代码审计和安全测试,以发现潜在的安全漏洞。使用自动化工具进行漏洞扫描,并结合人工渗透测试来评估应用程序的安全性。

安全配置和加固:对应用程序和服务器进行安全配置和加固,包括禁用不必要的服务和端口、配置防火墙规则来阻止可疑的网络活动、启用强密码策略等。

及时更新和打补丁:关注行业最新安全动态,及时更新和打补丁,以修复已知的安全漏洞。确保应用程序和服务器都运行在最新的安全补丁和更新上。

安全编码实践:对开发人员进行安全编码培训,提高他们对常见安全漏洞的认识,并教授如何编写安全的代码。推广安全编码实践,如使用安全的编程语言和库、避免硬编码敏感信息等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值