欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

SQL注入之骚姿势小记

来源:本站整理 作者:fox-style 时间:2017-07-18 TAG: 我要投稿

1、IN之骚

这个我也偶然发现的,也不知前辈们有没有早已总结好的套路了。

对它的描述:IN操作符允许我们在WHERE子句中规定多个值。也就说可以让我们依照一或数个不连续(discrete)的值的限制之内抓出数据库中的值。
举个例子:

那它是否可用于在过滤等号和过滤like的sql注入情况下呢?
简单句式举例:

看来是稳稳的可以的,再组合其他注入句式,岂不有了更不错的注入姿势。
那对in的可多个值的特性有没有什么好的用法呢?一脸懵逼我的想到千倍爆破一句话木马的姿势,在注入get不到字段时候用它爆破一下字段也可以很大提高效率呀(好吧,貌似我异想天开了。)。这个特性我先记在小本本上了,以后说不定碰到合适的用处。
2、BETWEEN之骚
同样也是偶然发现,不过between+and的中and让人感觉挺鸡肋的。在w3chool上对between操作符的介绍:传送门
对它的描述:BETWEEN操作符在WHERE子句中使用,作用是选取介于两个值之间的数据范围。也就说让我们可以运用一个范围(range)内抓出数据库中的值。
举个例子:

那它是否也可用于在过滤等号和过滤like的sql注入情况下呢?
看图:

看到了什么?纳尼?还怕单引号被过滤?再看个:

还稳稳的支持十六进制绕过姿势。
这个姿势下换个语句:selectpassword from users where password between ‘a’ and’d',再配合个脚本,这样岂不是能够直接跑password了?不就又get到一个盲注入姿势?还是那句话,由于and的限制,用起来就很鸡肋。
3、ORDERBY之骚
这个是利用orderby的排序的姿势进行盲注。利用条件就是要有对应注入出数据同一行的其他字段的回显(例如:想注入出password,web端要有username或者id或者……的回显)。
简单示例,假如要通过注入得到abcde用户密码,web页面有个username回显,那么就可以尝试这个姿势:

通过orderby3对查询到的第三个字段password进行排序,改变select的第三字段位置的内容,如:aa时候web页面显示username为test,ab时候还是显示为test,ac时候变成了abcde,就证明password前两个字符为ab,然后依次再往后猜测……
这个姿势再结合个脚本岂不美滋滋。
4、列名构造之骚
注入中有时候会遇到列名被waf的套路,万里之行只差出数据了,尴尬不已。在这时候,尝试自行构造一个列名也是很不错的选择。
从它:

到它:

不就新构出了列名?
再对它做个别名然后就可以不用列名注入出数据了:

5、临时变量之骚
临时变量是什么想必大家都知道,这个姿势呢~需要临时变量结合into语法来进行利用,看个简单例子:

用into对临时变量@a赋值,再去查询@a是可以得到赋值内容的。
注入的时候怎么用呢?

看起来很好利用的样子,其实放到web网站上就很鸡肋了。同一注入点先web请求进行into的临时变量赋值,再web请求进行临时变量查询时候,会发现它是行不通的。在第一个web连接结束时候,临时变量释放掉了,第二次web请求查询是找不到不到它的。
还有个实用的小利用:

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载