SQL注入随笔1

一、SQL注入的产生

在Web程序代码中,因用户提交的参数未通过过滤就被放到了SQL语句中执行,使得一些特殊字符打乱了原来的SQL语句原有的逻辑,导致可以直接执行任意的SQL语句,攻击者常利用这一漏洞进行攻击。

二、防范手段

最佳防御手段:采用SQL语句预编译与绑定变量

1.使用数据库系统所提供的参数化查询接口与执行接口。参数化的语句应使用参数而不是将用户输入的变量嵌入到SQL语句中;

2.对特殊字符进行编码转换或转义处理;(#、,<>、&等)

3.确认每一种数据类型;数字型是数字型,数据型是数据型。

4.对数据长度进行严格的规定;

5.每一个网站上的编码进行统一,采用统一编码

6.限制用户的权限,满足其日常工作就可以;

7.当输入特殊的查询手法是网站不要回显SQL信息错误,以防进一步攻击;

三、常见的查询语句

columns 、SCHMEMA 、TABLE 

1.查询某个库中的某个表的字段

select * from information_schema.columns where TABLE_SCHEMA="dvwa" and TABLE_NAME="users"

2.

四、SQL注入满足的条件

1.参数可控;

2.参数带入数据库查询;

五、判断是否存在注入

字符型

数据型

六、存在SQL之后手工注入步骤

1.猜库名

 database()

得到:pikachu

2.猜表名

select group_concat(table_name) from information_schema.tables where table_schema=database()

httpinfo,member,message,users,xssblind

3.猜列名

4.猜用户数据

select group_concat(username,passsword)from users

得到:

admin

adc3949ba59abbe56e057f20f883e,pikachu670b14728ad9902aecba32e22fa4f6bd,teste99a18c428cb38d5f260853678922e03

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值