二次注入

Posted by Tattoo on 2019-01-18
Estimated Reading Time 1 Minutes
Words 336 In Total
Viewed Times

二次注入的原理

  • 二次注入主要分为两步:

第一步:插入恶意数据
  第一次进行数据库插入数据的时候,仅仅对其中的特殊字符进行过了转义,在写入数据库的时候还是保留了原来的数据,但是数据本身包含恶意内容。

第二步:引用恶意数据
  在将数据存入到数据库之后,开发者就认为数据时可信的。在下一次需要进行查询的时候,直接从数据库中取出了恶意数据,没有进行更进一步的检验和处理,就会在成SQL的二次注入

  • 二次注入流程:
      输入参数1’
      参数经过转义函数变成1'
      参数进入数据库存储还原为1’ (插入的时候会去掉\)
      将1’从数据库中取出 (在另一处引用这个数据的操作)
      取出后直接给变量并带入SQL
      触发SQL注入

二次注入的防御

1.对外部提交的数据,需要更加谨慎的对待。
2.程序内部的数据调用,也要严格的检查,一旦不小心,攻击者就能将特定的SQL语句带入到查询中。


If you like this blog or find it useful for you, you are welcome to comment on it. You are also welcome to share this blog, so that more people can participate in it. If the images used in the blog infringe your copyright, please contact the author to delete them. Thank you !