主页 > 网络知识 > shiro新姿势:初探xray高级版shiro插件(2)

shiro新姿势:初探xray高级版shiro插件(2)

上周五中午看到xray社区的文章,并没有介绍具体怎么使用这个插件。当我尝试使用xray对靶场进行shiro漏洞检测时,确实被检测出存在550这个漏洞:

./xray_windows_amd64.exe webscan --url "http://ip:port/login" --plugins shiro

 

shiro新姿势:初探xray高级版shiro插件

 

漏洞是检测出来了,但说好的回显呢,还是我利用姿势不对?

我又翻出那篇社区文章,文章中显示的回显内容是在burp中,那就是要抓下这个过程的请求包。

打开xray配置文件config.yaml,找到下图中设置http代理的地方,将proxy字段设置为本地burp监听的端口(如:127.0.0.1:8080)

 

shiro新姿势:初探xray高级版shiro插件

 

打开burp监听,启动xray:

 

shiro新姿势:初探xray高级版shiro插件

 

可以看到xray的请求过程可以分为四步:

1. 访问给定的url,是否可以正常访问 2. xray默认访问index.php 3. 继续访问给定的url,同时带上rememberMe cookie,观察响应包中是否存在deleteMe关键字 4. 从100个key中选择,构造payload通过rememberMe cookie发送过去,并添加请求头Testecho(用于判断),看响应包中是否有预期的值

第四步我们可以再深入看下

 

shiro新姿势:初探xray高级版shiro插件

 

cookie中的payload和Testecho请求头一起发送出去,在响应包中判断是否存在漏洞(Testecho的值并没有影响)。

命令执行回显

在请求头中添加Testcmd,值为要执行的命令:

 

shiro新姿势:初探xray高级版shiro插件

 

很愉快得看到了回显,这样利用起来真的不要太方便!

0x03 对该插件进行复用

这个请求包对其他网站是否也适用呢?

我又搭建了一个后端存在shiro-550漏洞,网站功能区别于前一个靶场。xray也检测出存在相关的漏洞,所用的KEY也是一样。

我们经过前面的分析,知道了rememberMe cookie中的数据是经过key进行加密的(于iv无关),两个靶场的shiro key都是一样,那这个payload是不是可以原封不动地利用呢?

于是乎,我把这个请求包中的请求target、Host请求头进行修改,同样得到了命令回显结果,简直不要太舒服好吗。

 

shiro新姿势:初探xray高级版shiro插件

 

认真观看上面两张结果截图的师傅可能发现了,这两个靶场都是Windows系统的,那Linux系统也可以复用吗?(狗头)

废话不多说,直接上Linux靶场,shiro的key还是同前面两种情况一样,改请求target、Host请求头一把梭:

 

shiro新姿势:初探xray高级版shiro插件

 

 

shiro新姿势:初探xray高级版shiro插件

 

太强了!Linux下同样适用。

0x04 提取关键payload

前面已经尝试了三种情况的靶场,都没问题。但三个靶场的key都是一样,要是以后碰到的目标key不同,那就不能直接梭了。

我们在前面的利用过程中,是已经知道shiro key的值,默认的加密模式是CBC,iv也可以从rememberMe的前16位提取出来,那这样就可以直接解密出关键payload,留着以后复用。

解密脚本在本文0x02中有贴出来。

说点什么吧
  • 全部评论(0