php sql 二次注入,SQL注入----二次注入、堆叠注入

二次注入

最近在看到《Web安全攻防 渗透测试实战指南》说了关于二次注入的问题,以前就听过二次注入,但是没有深入了解过。

栗子:有两个界面,1.php是用户注册的页面(不一定是注册,主要是一个可以插入sql语句的页面),另外一个2.php通过某些参数(比如ID)去读取用户信息(比如用户名)的页面。在注册用户名的页面,我们注册一个 test' 的用户,这个单引号被成功插入到了数据库(先不管用户名不给单引号的事实,可以是插入其他的信息,比如个签等)。

昨天看到这里卡壳了,首先为什么经过addslashes函数过滤之后,单引号还是被带入到了数据库。经过查询才知道:

addslashes函数虽然在过滤之后会添加 “\” 进行转义,但是 “\” 并不会被带到数据库中

因此这里我们就可以成功将单引号插入到数据库中,在2.php我们去查询这个用户名的时候,如果在取出用户名的时候没有进行addslashes过滤,那我们的单引号就可以成功被带出来供我们下一步的使用了。

堆叠注入

原理:堆叠注入就是利用了堆叠查询可以执行多条语句,多语句之间以分号隔开的特点,在第二个sql语句中构造自己想要执行的语句。

由于现在很多都会采用PDO预编译来预防sql注入问题,虽然PDO可以执行多语句,但是PDO只会返回第一条sql语句执行的结果,所以在第二条语句可以用update更新数据或者使用时间盲注获取数据

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值