web安全之sql注入原理

sql注入的原理:  
      将(恶意)的SQL命令注入到后台数据库引擎执行的能力,把信息返回到页面    

sql注入产生的原因:
      过滤不严谨,导致产生的sql注入。

sql注入产生的地方:
        任何客户端可控制的变量,必须带有参数传递,且带入数据库里查询,没有过滤。

        任何数据包能拼接数据库。
列子:
                                一个请求包

     请求行          POST /index?id=1 HTTP1.1

      请求头         user-agent:
                         host
                         referer
                         cookie:
                         x-forward-for: 它代表请求段的IP, IP可以在后面添加 $_server

        请求体    id=1 & user=2

sql数据库5.0之前没有information_schema这个库,所以要load_file()读取相对路径
sql注入的分类:
      可联合查询注入(union select ),可多语句查询注入(mssql提权的时候,xp_cmdshell.exec用到),布尔注入(ascii()函数),报错注入(floor报错),基于时间延迟的盲注(slep(时间))

原文地址:https://www.cnblogs.com/secevery/p/5767572.html