码迷,mamicode.com
首页 > 其他好文 > 详细

实习时项目案例分享

时间:2020-05-03 14:28:22      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:简单   time   sys   post请求   ado   http   gets   编译   案例   

案例是在最近项目中遇到的俩个站,挺有意思的,所以分享出来。第一个站getshell后,内网简单的看了下,发现不是目标就没深入。

第一个站

1、弱口令
弱口令:admin admin进入网站后台
2、任意文件下载
在系统配置备份模块发现http://xxx.xxx.xxx.xxx/DownloadServlet?fileName=xxx这样的链接。
技术图片
尝试读取/etc/passwd文件,发现是linux系统
技术图片
读取/etc/shadow文件,能读取,猜测web服务是root权限,拿到root口令去破解,跑了一下午结果也没出来,放弃这条路。
技术图片
3、找网站根目录
读取了ftp的密码和quagga服务的密码,ftp因为没有写权限(放弃)。Quagga连接上去只能看下路由信息。只能读网站源码审计一波。读取/root/.bash_history发现失败,可能是管理员删除了。
读取/etc/rc.local
技术图片
文件挨个下载看一遍发现读取到/usr/local/ac/bin/preload这个文件时,打开发现/etc/ac_preload.sh的脚本
技术图片
脚本中发现tomcat安装路径。
技术图片
读取server.xml发现web目录。
技术图片
4、审计源码找上传
读取web.xml
技术图片
读取structs-config.xml,找到俩处上传点,这俩写的都有问题,只看SwuploadAction这一块代码。
技术图片
下载SwuploadAction代码。http://xxx.xxx.xxx.xxx/DownloadServlet?fileName=../../../usr/local/ac/web/ac-web/WEB-INF/classes/com/gbcom/business.action.sysoper.SwUploadAction用jd-gui反编译。通过代码发现上传代码并没有过滤,找到上传路径。后台页面找到上传点,由于后台前端上传组件限制后缀,直接通过burp绕过。最终getshell。
技术图片
仔细看上图199行,开始以为存在命令注入。后来文件名尝试注入a.sh|curl http://vps发现命令执行不了。查文档发现下面这样写才能注入命令

java.lang.Runtime.getRuntime().exec(new String[]{ "cmd", "/c", "calc|注入的命令"});

后来,挂上代理打内网。发现内网好多路由交换设备,默认admin/admin都能登陆。发现自己搞的站和目标不一致,内网就没在深入。

第二个站

后台地址直接出来,弱口令失败。
技术图片
右键源码发现
技术图片
后台找到上传点,尝试上传绕过。开始url请求的filename没有参数。发现加上参数能直接写入jsp,修改post请求体的filename,直接就被waf拦截。最后通过GIF89a文件头绕过。
技术图片

最后总结下:

实战中需要黑白盒一起搞,细心很重要。

实习时项目案例分享

标签:简单   time   sys   post请求   ado   http   gets   编译   案例   

原文地址:https://www.cnblogs.com/afanti/p/12663764.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!