资安学习路上- Injection的爱恨情仇6

UNION攻击

UNION指令:可执行跨表查询(SELECT),合并两张表的搜寻结果。
两个原则:
1.栏位数量相同,第一个栏位数=2,第二个栏位数也要=2
2.栏位类型相同,第一个栏位id是int,第二个栏位id也要是int

上图取自台科大资安社课教材

确认资料栏位数

1.利用NULL(可转换成每种常用资料型态,跟着前面栏位)
'UNION SELECT NULL -- #喷错
'UNION SELECT NULL,NULL -- #没喷错,2个栏位
'UNION SELECT NULL,NULL,NULL - #喷错

2.ORDER BY
ORDER BY [第几个栏位]:可依第几个栏位,进行排序

'ORDER BY 1 #正确表示有第一个栏位
'ORDER BY 2 #正确表示有第二个栏位
'ORDER BY 3 #喷错表示没有第三个栏位,只有2个栏位

上图取自台科大资安社课教材

确认资料栏位型态

透过NULL+字串进行测试,没有喷错表示那个栏位为字串型态,下面以确认有4个栏位举例

'UNION SELECT 'a',NULL,NULL,NULL--
'UNION SELECT NULL,'a',NULL,NULL--
'UNION SELECT NULL,NULL,'a',NULL--
'UNION SELECT NULL,NULL,NULL,'a'--

实作

输入名字後发现,有7个栏位,姑且猜测有7个

用UNION SELECT 确认栏位数,第一个引号作闭合,最後--为注解,中间7个NULL,可执行成功,确定7个栏位(有试过6个NULL喷错)

接着确认栏位型态,用偷吃步,直接看表格内容去猜

接着用SELECT schema_name FROM information_schema.schemata找其他表格

最後去每个资料表里面,用语法找目标'Joseph',SELECT * FROM user_system_data(在user_system_data里找到目标密码)

一样用'闭合,因为前面用***,表示选所有栏位**(有7个),所以这边也要用7个,最後用--注解掉後面 ',--後面记得要空白(前面不用)

SQL盲注(Blind SQL injection)

  • 有SQL injection但没有回显结果或资料库错误讯息
  • 仰赖网站回应看注入结果

方法1 猜字串(前端能不能看到回复字串)

假设有个网站他有SQL injection漏洞,位置在cookie的地方,当输入WHERE 1=1--时,可回传true,前端可看到welcome back

上图取自台科大资安社课教材

同样道理去猜看是否有administrator帐号,有的话,再透过Substring去猜密码,假设第一个字元是s,如果正确就可以用彩虹表去爆破,因为密码都是用hash,杂凑过的

上图取自台科大资安社课教材

上图取自台科大资安社课教材

方法2 系统有没有喷500

想办法让系统触发错误讯息,在第二个式子,因为1=1成立,所以触发1/0,资料库会产生错误

上图取自台科大资安社课教材

同样道理接着测试密码,用1/0去确认administator是否存在,如果存在会喷错误,再用substring 切割字串爆破密码

上图取自台科大资安社课教材

上图取自台科大资安社课教材

方法3 用Delays

当1=1,符合条件,所以会触发延迟

上图取自台科大资安社课教材

同样道理
第三行的红字如果成立就会跳True(1),会成立所以触发延迟

上图取自台科大资安社课教材

上图取自台科大资安社课教材

上图取自台科大资安社课教材

SQL map

语法好多记不住,可以用工具打打看,里面有放很多指令

上图取自台科大资安社课教材

有绕过WAF、IPS、IDS等等指令

上图取自台科大资安社课教材

其他插件

上图取自台科大资安社课教材

但一样有很大机率会被WAF、IPS、IDS等防护设备阻挡,要看防护设备类型,可以不要送这麽快,1次送一个封包等等


<<:  如何完成这while回圈

>>:  2022重拾程序-画框框

第23天~又是JSON+ListView

又是JSON 开新专案 准备XML档+ListView 放好ID 准备一个TXT档案- 把txt档案...

Day14 Gin and Go Mod

Background Goland从1.11版本起就开始导入了GO Module功能,这样也不需要再...

狗狗币的技术与理想的深入解析

或许你想问我 狗狗币有突出的技术吗? 它不是只是照抄程序码而诞生的加密货币吗? 事实并非如此, 我认...

30天零负担轻松学会制作APP介面及设计【DAY 09】

大家好,我是YIYI,今天我要来制作左上角点开的清单以及点开右上角相机後的页面。 清单LIST 考虑...

从「递回」策略迁移到「堆叠」暂存

再探链结串列与树结构 在前三天的刷题实战中,我们一起实作了线性的链结串列和非线性的树相关的题目。其...