SQL注入总结

SQL注入集

  这几天做了一些墨者靶场的SQL注入的题,发现大同小异

  像什么字符型的其实和普通注入的流程是一样的,在注入中遇到的一些点

  ①(@dmin9_td4b}  一个比较特殊的数据库表名,所以在查询时可以用反引号 `` 括起来

  ②假如要查询一个字段key,因为它是数据库的关键字,所以也应该用反引号 `` 括起来

  ③登录框存在注入的话,先尝试万能密码看能否绕过验证

  ④理论上所有能和数据库产生交互的地方都有可能存在注入,例如当你删除一个帖子的回答时,你可能在url看不到参数,但是抓包可以发现,例如delete注入,我认为只是它的注入的地方不同,性质一样的

  ⑤字符过滤的问题,一些站点会过滤掉一些关键字,在这种情况下就要先判断它过滤掉了那些字符,那些字符可以代替,有没有绕过的方法,sql语句使用16进制编码

  ⑥SQL注入的一般流程

    判断注入类型和注入点  ——>  判断过滤掉的字符以及确定绕过方法  ——>  判断列数  ——>    查看回显点  ——>  查询数据库库名  

    ——>  查询表名  ——>  查询列名  ——>  查询具体字段

    盲注或者时间型注入一些没有回显的注入可以使用length,substring等函数来一个一个查出上述的内容

  ⑦总结了几个在SQL注入中要知道的东西

    数据库元数据  nosql  extractvalue()  concat()  group_concat()  if()  mid()  top()  left()  right()

  ⑧有时候需要抓包修改包中的内容来注入,例如我们可以在数据包中加一个X-Forwarded-For来判断它是否存在这种注入

  ⑨一些在注入时遇到安全其他知识点

    无状态连接  缓存污染  密码重置  浏览器渲染引擎  浏览器渲染引擎  X-Requested-With  内联注释  cookie,session,token

 

    SQL注入常用注释字符:#(浏览器不识别)  --(后边有空格)  可以变为--+  %23  /**/  

    常用的绕过姿势,请关注随后博客

 

 

 

 

 

 

                        

    

  

posted @ 2019-08-06 10:52  衰小草  阅读(246)  评论(0编辑  收藏  举报