SQL注入绕过基本防御措施(姿势)小结

前面的浅析sql注入基础里面基本上吧最最基本的sql注入原理说了一下,爆库名啊表名啊字段啊还有盲注的基本原理,布尔型盲注,时间型盲注等等都在这儿有详细的提到

https://blog.csdn.net/Alexz__/article/details/100712648

 随着深入练习靶机sqli-labs-master也慢慢发现了sql注入许多不同的全新姿势

一个网站要是没有任何防御措施,那和肉鸡还有什么区别?接下来要总结几点基础的绕过防御措施

 

 

---------------------------------不存在的分割线---------------------------------

 

 

注入第一点就是寻找闭合,发现注入点

GET型直接在后面跟着猜测闭合  ?id=1 (所猜测闭合)  要是猜对网站直接报错,猜错则毫无反应

POST型同理,burp抓包repeater分析req和res包内容,寻找合适位置(cookie字段,ip字段,referer字段,use-agent字段等等)要是猜对网站直接报错,猜错则毫无反应

 

贴个高版本MySQL的报错注入语句   

extractvalue(1,concat(0x7e,(select version())))       

0x7e是 ~  符号以方便区别爆出字段

后面括号内接sql语句即可

 

以Less-18为例子:

Less-18 头部双注入(使用的是高版本mysql函数报错注入),通过观察闭合报错来确认列数,构造注入函数

'and extractvalue(1,concat(0x7e,(select database()))) and '4

在这里没有在最后使用注释符号而是直接跟着闭合

部分源码:

(    '  ' , '  ' , '  '   )

引号内添加即为注入语句:    ' and extractvalue(1,concat(0x7e,version())) and '1       其中注入语句内的单引号内的内容,被后台插入到源码的单引号之间,于是后台mysql报错即触发报错漏洞得以完成爆版本

全新的注入思路,有待慢慢探索和思考

 

过滤字符

先贴一段变态的源码:

function blacklist($id)
{
    $id= preg_replace('/or/i',"", $id);            //strip out OR (non case sensitive)
    $id= preg_replace('/and/i',"", $id);        //Strip out AND (non case sensitive)
    $id= preg_replace('/[\/\*]/',"", $id);        //strip out /*
    $id= preg_replace('/[--]/',"", $id);        //Strip out --
    $id= preg_replace('/[#]/',"", $id);            //Strip out #
    $id= preg_replace('/[\s]/',"", $id);        //Strip out spaces
    $id= preg_replace('/[\/\\\\]/',"", $id);        //Strip out slashes
    return $id;
}

真他吗,洗的干干净净

如何判断被过滤字符?

GET中?id=   (在这里键入测试字符串)  1  

要是返回数据与原来无异,则键入的字符已经被后台清洗掉了,反之则没有过滤

 

贴几个各种搜刮来的绕过姿势:

and:(or同理)

&&

Aandnd

AND

AnD

space空格:

()

/**/

0x7a b c

 

SQL注入,总之规律性强,原理较为基础,容易上手,不是很复杂;但是危害性极大(注入成功后台即透明),防御手段完善,不易寻找漏洞。

第一点是要寻找web界面与后台的交互方式,怎么交互?   GET     POST,以及各种各种字段cookie,head… 

其次就是寻找闭合方式,构造与测试闭合手段不一样

再而则是绕过防御措施:过滤字符串,waf(硬件防火墙,和软件防火墙可独立于网站,检查提交给服务器的http字段,)  

 

关键是不断的尝试去了解背后规则,知己知彼方能百战不殆

前期刚开始的时候应当多去查看后台源码,熟悉各种冷门的sql语句,sql函数,通过想象力的创造力打造一把无坚不摧的利器,攻破那看似坚固的城墙

 

 

给刺刀装上理想

 

 

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值