首先下载最新的4.0
然后搭建环境我就不多说了,这里我就用sql-labs当作示例来说了。第一关非常大略大家该当都是知道的,语句便是?id=-1’ union select 1,2,3 —+
非常经典的显错注入,这个时候我们把WAF打开
好!
过不去,渗透失落败,本篇结束!
!
!
咳咳咳,别走别走别走~ 开个玩笑,咱们连续。首先 按照表情包的操作:
And 1=1 既然被拦截 那我们如何用and进行测试呢?我们先测试了and后面不跟数据 创造没有涌现拦截,解释他是靠着后面的1=1来进行识别的,那么从1=1下手。我们可以试试and -1=-1 把我们常用的正数变成负数,一样是ok的,但是可以绕过去。
如果你非要用1=1,不用浑身难熬痛苦,那也行啊,那咱们就从and下手,把and变成&,一样可以过 毕竟and=&但是!
!
!
&在PHP内是连接符的意思,有可能会被缺点识别,以是我们最好把它进行url编码转换也便是%26
于是 %26 1=1 成功。
但是实在我个人真的强推用-1来进行检测啊!
我以为比and好用hhh
接下来我们便是查看是否有显错点了
被拦截了
这个时候我们考试测验老牌注入操作 内联注释 来试一试 顺带给阐明下
//注释 里面的语句不实行
/!/内敛注释 语句依旧实行
便是说我们运行时/!union select 1,2,3,/ 语句依旧会被实行,一半情形下如果检测到了被注释,那肯定就不会报错了!
但是!
现实依旧啪啪打脸,这个操作也不太行了!
于是涌现了其余一种骚操作 版本号绕过
/500001!/表示数据库版本>=5.00.01时就会实行
但是500001已经凉了,我们可以列举数字进行跑包测试,但是为了省事,我已经测试过了,10044依旧还是很坚挺的!
于是涌现了这样美滋滋的场景:
经由测试
/!10044union/ /!10044select 1,2,3/—+ 成功绕过
union /!10044select 1,2,3/—+ 成功绕过
接下来我们说说其余一种绕过的办法截断绕过。首先科普sql语句内#和—+都可以作为注释并且url转码后的#是%23,为什么要用%23嘞,由于#在php内还有锚点的浸染,为了不被缺点解析,以是用经由url编码后的。其次%0A是换行符 可以理解成下一行接着上一行的命令连续实行。
说完这些,我们连续操作
%23QQQ%0Aunion%23QQQQ%0Aselect 1,2,3—+ 成功绕过
事理便是经由狗的检测,#后的已经被注释了,但是我们重新另起一行,连续随着前面的命令,以是成功的绕过去了,至于这些Q都是为了帮助我们绕过去,用来稠浊的字符,你也可以随便输入别的字符都ok
这时候合营内联注释,起飞兄弟萌!
%23QQQ%0Aunion%23QQQQ%0Aselect1,database/!/,3—+
后面就不用我多说了,大家就知道如何操作了!
快资讯