针对数据存储区的攻击测试

  • A+
所属分类:安全文章

学习打卡计划是信安之路知识星球开启的 “每天读书一小时,挑战打卡一百天” 主题活动,能够坚持学习打卡 100 天的同学可以获得信安之路提供的百分成就徽章和证书,学习书籍可以自选,主要目的是养成每日读书学习的好习惯,并将自己的学习心得分享出来供大家学习。

下图为目前星球成员的最新打卡内容:

针对数据存储区的攻击测试

坚持学习是一件非常难的事情,随着时间的推移,坚持的人越来越少,但这就是真实的情况,能够坚持到最后的一定是少数。

打卡一:web 实战 P378-407

关于 sql 注入的理解,本书之前说的只要用户可以输入的地方都有可能存在安全风险,对于 sql 注入而言,所有用户输入的地方被带入数据库进行增删改查时都有可能存在 sql 注入的问题,无论哪里出现 sql 注入漏洞,都是因为输入的参数或者获取的客户端信息被带入数据库进行操作而引起的,所以想要找到 sql 注入的问题,就要关注所有的动态功能,根据用户的输入返回不同信息的地方。

业界使用最为广泛的数据库包括:mysql、Oracle、mssql,所以大家学习的重点也可以基于这三种数据库进行研究。对于 sql 注入的检测,通常是输入一个单引号,如果参数是数字,那么可以在数字后面加上 -1 来看参数是否被执行,如果报错或者返回内容发生变化,那么这个地方很有可能是存在 sql 注入的,接下来最为傻瓜的操作就可以上 sqlmap 进行全面测试了。

大家也慢慢发现,现在存在 sql 注入的问题越来越少,一方面是程序猿的安全意识在提高,另一方面是各种安全设备的出现,比如 waf、openrasp 等,所以一线的安全从业者就跟 waf 刚上了,waf 出检测规则、攻击者绕过,随着攻防对抗的进行,对于数据库的特性、系统的特性、中间件的特性研究的越来越全面,对于安全从业者的要求也越来越高。

关于 sql 注入的利用、原理等细节问题还是要去看书和实践,成长平台也有相关任务可以做,想要掌握这部分内容,需要的时间不是一两天看完书那么简单,记在脑子里才是自己的,大家加油。

关于数据库的学习,学完数据库基础之后,可以先去看看推荐的第二本书关于数据库安全防护的,不用都看,选择一个你最想去学习和最熟悉的数据库,有了这个基础,再去扩展其他的技术也会比较简单,可以在实际的工作中有需求的时候前去扩展。

打卡二:web 实战 408-456

利用 sql 注入漏洞除了能获取数据之外,还有对数据库进行破坏,比如使用 drop 删除数据库,使用 shutdown 命令关机,在进行数据获取时,最简单的是使用 union 直接将数据查出并展示在页面上,但是经常会因为数据不能展示出来,需要通过页面的表现形式,比如正常、不正常等特征来猜解数据,那么就可以使用函数 SUBSTRING 来提取结果中的单个字符来进行比较,通过查询结果的正确与否来猜数据。

我们还会遇到有些页面无论 sql 语句执行是否成功,页面都不会发生任何变化,那么我们就可以利用 sql 语句将查询出的结果传送到我们外部可控的服务器上,比如 DNS 协议,详细利用方法可以参考书籍的 410 页,利用不同数据库的特性,将查询的数据通过带外通道传出。

除了执行 sql 语句,根据数据库提供的能力还可以执行系统命令,比如 mssql 的 xp-cmdshell 这个存储过程、mysql 的 udf 提权;数据库还可以读取文件的内容,比如 mysql 的 load_file,只要数据库有足够的权限,那么通过 sql 注入的漏洞就可以拿到所有想要的信息。

总的来说,检测注入漏洞是相对比较容易的,但是你能通过 sql 注入漏洞拿到什么样的权限和数据,取决于你对于不同数据库的理解以及熟练程度,这块的技术瓶颈不在于对 web 应用程序的理解而在于数据库,所以在学习这部分内容之前首先需要的是数据库的基础,学会怎么使用数据库,不同数据库有哪些特性和自带功能,希望大家可以去成长平台把数据库相关的任务完成,然后再来深入研究这部分关于注入的内容。

总结

后面部分关于 ldap 注入、NoSql 注入、Xpath 注入原理是相通的,怎么检测、怎么利用都取决于我们对这些组件的熟悉和理解,有了实际的使用基础,那么相关内容理解起来就会比较简单,当我们连数据库怎么使用都不会的情况下,想要直接学会怎么利用,那是不太可能的。

针对数据存储区的攻击测试

本文始发于微信公众号(信安之路):针对数据存储区的攻击测试

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: