SQL注入

含义

sql注入是将代码插入(拼接)到应用(用户)的输入参数中,
之后再将这些参数传递给后台的SQL服务器加以解析并执行的攻击,
总结起来就是攻击者将恶意代码拼接到sql语句并加以执行从而得到数据的过程。

成因

SQl语句未对用户参数进行严格过滤

可引发注入的地方

其实只要是客户端可控、参数值代入数据库查询的地方都可能存在注入
常见的如下,按出现频率排序:
1. GET
2. POST
3. X-Forwarded-For
4. Cooke
5. User-Agent

注入分类

根据语法(较权威):
1. 可联合查询注入:
    只要页面有显示位即可使用,且注入速度很快
2. 报错型注入:
    没有显示位但用echo "mysql_error()"输出了错误信息,速度很快,但是语句较复杂
3. 布尔型注入:
    一次一个字节,速度慢,但只要有注入就能用
4. 基于时间延迟注入:
    超级慢,比布尔型注入慢几倍,但是通用性较强
5. 可多语句查询:
    只有SQL Server可以使用

根据类型:
1. 整形
2. 字符串型
3. 搜索型

查找注入点

在URL中:
1. and 1=1/and 1=2(整型)
2. 随即输入(整型)
3. -1/+1 回显上下页面(整型)
4. 单引号(字符型/整型)
5. and sleep(5) (判断页面返回时间)

在http头:
1. X-Forwarded-For
2. Cookie
3. User-Agent
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 随着当今世界网络技术与信息技术高速发展,Web应用程序具有界面统一,使用简单,易于维护,扩展性好,共享度高等优先。...
    高美丽阅读 9,473评论 0 4
  • Web安全之SQL注入漏洞 本节知识点 SQL注入原理 前言 结构化查询语句(Structured Query L...
    f354f7231c35阅读 6,286评论 0 5
  • 什么是SQL注入攻击?引用百度百科的解释: sql注入_百度百科: 所谓SQL注入,就是通过把SQL命令插入到We...
    leftshine阅读 10,382评论 0 24
  • 姓名:于川皓 学号:16140210089 转载自:https://baike.baidu.com/item/sq...
    道无涯_cc76阅读 5,955评论 0 2
  • 前言,如果你天生丽质难自弃又或者美貌与智慧并存又或者是多金不食人间烟火的白富美,小女子温馨提示您可以绕道而行了。这...
    窗外阳光阅读 4,736评论 13 27