本文由红日安全成员: Aixic 编写,如有不当,还望斧正。
大家好,我们是红日安全-Web安全攻防小组。此项目是关于Web安全的系列文章分享,还包含一个HTB靶场供大家练习,我们给这个项目起了一个名字叫 ,希望对想要学习Web安全的朋友们有所帮助。每一篇文章都是于基于漏洞简介-漏洞原理-漏洞危害-测试方法(手工测试,工具测试)-靶场测试(分为PHP靶场、JAVA靶场、Python靶场基本上三种靶场全部涵盖)-实战演练(主要选择相应CMS或者是Vulnhub进行实战演练),如果对大家有帮助请Star鼓励我们创作更好文章。如果你愿意加入我们,一起完善这个项目,欢迎通过邮件形式联系我们。
如果出现ip无法访问的情况改一下代码即可
构造语句进行盲注,发现不能使用mid只能使用substr。。
这个漏洞环境用到了 SQLITE3 中的 CASE 窗口函数与 RANDOMBLOB 来实现的基于时间的盲注。
基于联合查询注入: 使用
UNION运算符用于SQL注入,UNION
运算符是关联两个表的查询结果。攻击者故意伪造的恶意的查询并加入到原始查询中, 伪造的查询结果将被合并到原始查询的结果返回,攻击者会获得其他表的信息。
这里我们采用Vulnhub靶场进行演练。
Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行。每个镜像会有破解的目标。
Graceful的VulnVM是在虚拟机上运行的Web应用程序,它旨在模拟一个简单的电子商务风格网站,该网站特意容易受到Web应用程序中常见的许多众所周知的安全问题的影响。这实际上是该项目的预发布预览版,但它确实具有实用性,但我计划在不久的将来对此进行大量工作。
该计划最终使应用程序容易受到大量问题的影响,选择不同的过滤器处于不同的困难,以便测试人员能够更好地检测和利用应用程序可以通过常见的开发方法加强的问题,以便测试人员能够更广泛的经验。
第一批过滤器现已实施!该应用程序现在支持“级别”,其中级别1不包括用户输入的实际过滤,级别2包括针对每个易受攻击的功能的简单过滤器。
在products.php页面存在盲注,通过测试发现是数字型盲注
构造语句爆破数据库名,使用之前的python脚本进行爆破。
爆破出来数据库名为seattle
判断出来数据库存在3个表
开始爆字段,用如下语句
一直爆不出来字段,发现原来是这种爆破脚本存在一个无法分辨大小写的问题。改进一下脚本,变成ASCII的判断。
重新尝试爆破字段,改一下语句,用python来跑
最终代码如下,因为可能会因为字符长度过长导致时间过长的问题,就加了个判断d,这样40位的名字也可进行判断
进行UNION注入构造语句,发现并没有显示位。所以只能进行报错盲注了
跟上面几乎一样,就是利用的地方不一样
可以自定义关键字建立数组即可
把查询语句弄成一个对象,通过函数判断输入进来的值是否为数字,然后再通过正则替换内容
使用参数化查询可有效避免SQL注入
五指互联由原盛大集团PHPCMS负责人王参加创办,汇聚众多国内资深CMS开发者,拥有一支战斗力强、专业的技术团队,有超过10年的CMS专业开发经验。
构造url链接,使用SQLMAP可获取数据库敏感数据。
抓包把数据包放到sqlmap上跑
可以自定义关键字建立数组即可
把查询语句弄成一个对象,通过函数判断输入进来的值是否为数字,然后再通过正则替换内容
使用参数化查询可有效避免SQL注入
单引号(’)双引号(")反斜杠(\)NULL
预定义的字符是:& (和号)成为 &" (双引号)成为 "’ (单引号)成为 ’<>成为 <>就是把成变成一个纯字符(:з」∠)
会在以下关键词前面添加转义字符单引号(’)双引号(")反斜杠(\)NULL
什么是状态码? 状态码的作用是:服务器告诉客户端,发生了什么事. 在http协议中状态码出现在http response 的第一行.它会返回一个三位数的状态码和状态信息.状态码为了便于程序进行处理,而 ...
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。