- 安装docker和docker-compose
以前的实验自带了docker和docker-compose
- 复现vulhub漏洞
- Tomcat弱口令和文件上传漏洞
先在服务器打开docker中的镜像
首先用弱口令tomcat:tomcat登录manager界面
可以在界面中看到一个上传war包文件的地方
War包一般是在进行Web开发时,通常是一个网站Project下的所有源码的集合,里面包含前台HTML/CSS/JS/JSP等的代码,也包含编译Java的代码。
我们首先用冰蝎生成一个jsp文件,并将这个jsp文件打包成一个war包
使用tomcat的manager界面上传这war包并且使用冰蝎进行连接。
我自己在做的时候发现必须先在主目录连接一次war包,再在shell文件下连接jsp包才能成功
- Httpd文件上传漏洞
首先进入页面看看情况
Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。
我们把冰蝎产生的文件上传
上传成功之后直接用冰蝎连接
- Appache-druid
先同样打开镜像并打开网站
之后将构造的包在repeater界面发出
后台完成执行并返回数据
核心代码
"function(){var a = new java.util.Scanner(java.lang.Runtime.getRuntime().exec([\"sh\",\"-c\",\"id\"]).getInputStream()).useDelimiter(\"\\A\").next();return {timestamp:123123,test: a}}"
- Weblogic
首先使用docker打开镜像并进入网站
这个漏洞有一个弱口令weblogic:Oracle@123,但我们这里不使用这个弱口令
通过访问/console/login/LoginForm.jsp页面可以直接下载获得所有用户账号和密码
使用账户密码登录到后台
在basedomain下上传文件
在项目自带的hello.war里面添加webshell
将shell.jsp移动到解压的这个目录,一起打包到新的war包hello_modified.war之后上传
使用冰蝎连接
完成
- Rce漏洞原理、利用条件及解决办法
RCE漏洞的原理
RCE漏洞的核心在于应用程序没有正确地处理用户的输入。如果应用程序对用户提供的数据没有进行适当的过滤或检查,就直接在这组数据上执行代码,那么攻击者可以注入恶意代码,从而控制应用程序乃至整个系统。
利用条件
漏洞存在:软件应用中存在可以执行代码的漏洞点。
权限提升:攻击者需要能够访问到应用中存在漏洞的部分,并且通常需要一定程度的权限(如管理员权限)。
有效载荷:攻击者需要构造一个有效载荷(payload),该载荷是攻击者想要在目标系统上执行的代码。
执行环境:载荷需要在应用程序的上下文中得到执行,这通常意味着应用程序需要支持某些脚本语言或命令执行功能。
解决方案
代码审计:定期对代码进行审计,特别是对那些处理用户输入的部分。
安全编码实践:在开发过程中采用安全编码实践,例如使用参数化查询来防止SQL注入,或者对用户输入进行白名单验证。
输入验证:始终对用户输入进行验证,确保它符合预期的格式,并且不会执行任何形式的代码。
使用安全的库和框架:利用经过严格审计和测试的库和框架,这些库和框架通常会包含安全补丁。
限制权限:确保应用程序运行在不具有过多权限的环境中,最小化潜在的损害。
及时更新和打补丁:对软件进行定期更新,及时修复已知的安全漏洞。
教育员工:加强安全意识培训,避免因操作不当导致安全问题。