Burpsuite靶场——SQL注入

这篇具有很好参考价值的文章主要介绍了Burpsuite靶场——SQL注入。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在本篇文章中,咱们将解释什么是 SQL 注入,描述一些常见的例子,解释如何发现和利用各种 SQL 注入漏洞,并总结如何防止 SQL 注入。

废话不多说,开始正篇。

一、什么是SQL注入

Burpsuite靶场——SQL注入

SQL注入漏洞(SQL injection)是web层面最高危的漏洞之一。曾在2008-2010连续三年期间位列OWASP年度十大漏洞排行榜第一位。

SQL注入允许攻击者干扰应用程序对其数据库的查询。它通常允许攻击者查看他们通常无法检索的数据。这可能包括属于其他用户的数据,或应用程序本身能够访问的任何其他数据。在许多情况下,攻击者可以修改或删除这些数据,从而导致应用程序的内容或行为发生持续变化。在某些情况下,攻击者可以升级 SQL 注入攻击以破坏底层服务器或其他后端基础架构,或执行拒绝服务攻击。

二、SQL注入的影响

成功的 SQL 注入攻击可能导致未经授权访问敏感数据,例如密码、信用卡详细信息或个人用户信息。近年来,许多备受瞩目的数据泄露事件都是 SQL 注入攻击的结果,导致声誉受损和监管罚款。在某些情况下,攻击者可以获得进入组织系统的持久后门,从而导致长期危害,而这种危害可能会在很长一段时间内被忽视。

三、常见的SQL注入类型

SQL注入其实可以归结为两大类,一类是数字型注入,一类是字符型注入。我们平常所听到的cookie注入、post注入、盲注、延时等等注入其实只不过是上述两大类的不同展现形式或者不同展现位置罢了。

那么为什么SQL注入只分这两大类呢?因为对数据库进行数据查询时,输入的数据一般只有两种:

数字类型:where id = 1、where age > 18

字符串类型:where name = 'root' 、where datetime > '2022-05-13'

虽然不同的数据库的比较方式可能不一样,但是带入到数据库查询时一定是字符串。严格的来说,数字也是字符串,因为在数据库中进行数据查询时,where id = '1' 也是合法的,只不过查询条件为数字时我们一般不加单引号。

以下是我们常见的注入叫法:

POST注入:注入字段在post数据中

cookie注入:注入字段在cookie数据中

延时注入:使用数据库的延时特性注入

base64注入:注入字符串需要经过base64加密

四、实验环节

咱们先来看下第一题:where子句中允许检索隐藏数据的SQL注入漏洞

Burpsuite靶场——SQL注入

进入实验室,是一个显示不同类别产品的购物应用程序。

Burpsuite靶场——SQL注入

咱们点击“礼物”类别搜索商品,burpsuite抓包浏览器url请求

 Burpsuite靶场——SQL注入

这会导致应用程序进行 SQL 查询以从数据库中检索相关产品的详细信息:

SELECT * FROM filter WHERE category = 'Gifts' AND released = 1

此 SQL 查询要求数据库返回:所有详细信息 (*)、从产品过滤表、其中类别是礼物、并隐藏未发布商品。这里的限制条件released = 1应该是隐藏未发布的产品。那么对于显示未发布商品应该为released = 0。

该应用程序没有实施任何针对 SQL 注入攻击的防御措施,因此攻击者可以构建如下攻击:

https://xxx.xxx.com/filter?category=Gifts'--

咱们分别请求filter?category=Gifts和filter?category=Gifts'--,来对比看下

请求filter?category=Gifts

Burpsuite靶场——SQL注入

请求filter?category=Gifts'--

Burpsuite靶场——SQL注入

很明显 ,请求参数重加的SQL注释指示符双破折号--起到了作用,导致SQL查询:

SELECT * FROM filter WHERE category = 'Gifts'--' AND released = 1

有效地删除了查询的其余部分,因此它不再包括AND released = 1. 这意味着显示所有产品,包括未发布的产品。

此外,咱们可以更进一步的构造请求参数从而使该应用程序显示任何类别的产品,而不仅仅是礼物类别。包括后台数据库中尚未定义的类别的产品。

https://xxx.xxx.com/filter?category=Gifts'+OR+1=1--

这将导致 SQL 查询:

SELECT * FROM filter WHERE category = 'Gifts' OR 1=1--' AND released = 1

修改后的查询将返回类别为礼物或 1 等于 1 的所有项目。由于1=1始终为真,因此查询将返回所有项目。

接下来看第二题:屏幕前可爱的你给弟弟点点关注点点赞呗,后续会更新更多好玩实用的实验案例给大家,今天先休息一下~

五、如何防止SQL注入

1. 避免使用动态SQL

避免将用户的输入数据直接放入 SQL 语句中,最好使用准备好的语句和参数化查询,这样更安全。

2. 不要将敏感数据保留在纯文本中

加密存储在数据库中的私有/机密数据,这样可以提供了另一级保护,以防攻击者成功地排出敏感数据。

3. 限制数据库权限和特权

将数据库用户的功能设置为最低要求;这将限制攻击者在设法获取访问权限时可以执行的操作。

4. 避免直接向用户显示数据库错误

攻击者可以使用这些错误消息来获取有关数据库的信息。文章来源地址https://www.toymoban.com/news/detail-470441.html

到了这里,关于Burpsuite靶场——SQL注入的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • DVWA靶场中SQL注入

    1.1.1.Low级别   1)判断注入类型当输入1和1 and 1=2的时候均能够正常返回数值,证明不是数字型输入。那么这里基本上就能够判断是字符型注入。   2)判断字符型注入。输入1’ and 1=2 #的时候出现报错,证明存在字符型注入,并且单引号闭合。   3)判断有多少列当输入

    2024年02月03日
    浏览(52)
  • Pikachu靶场—sql注入通关

    创作不易,给个关注吧,有任何问题可以评论或者私聊 关卡详情 根据图上来看,这关有个下拉菜单可以选数字。由于从url看不到什么变化,我们用burpsuite抓包看一下。确定是post请求 因为题目指出是数字型的注入,所以就不用找闭合了,直接使用 order by 探测列数,这里探测

    2024年02月13日
    浏览(46)
  • 五分钟制作sql注入靶场

    接触安全也快两个月了,学了很多安全的知识,也接触到了渗透测试,前面学习了sql注入和XSS漏洞,听郭老师说可以尝试自己搭建一个靶场,所以开始制作自己靶场! 目录 一、数据库 文件db-creds.inc 接下来创建数据库 连接数据库 二、前端 三、php 四、第二个页面 五、效果展

    2024年02月15日
    浏览(38)
  • bwapp靶场笔记 -SQL注入篇

    ​ 启动靶场 查询数据库名字,以及所有的表名称 11 union select 1,2,database(),GROUP_CONCAT(table_name) ,5,6,7 from information_schema.tables where table_schema=database() # blog,heroes,movies,users,visitors 查询需要表的字段名 11 union select 1,2,database(),GROUP_CONCAT(COLUMN_name) ,5,6,7 from information_schema.COLUMNs where tabl

    2024年02月06日
    浏览(58)
  • pikachu靶场-4 SQL注入漏洞

    在OWASP发布的TOP 10 中,注入漏洞一直是危害排名第一的漏洞,其中主要指的是SQL Inject漏洞。 一个严重的SQL注入漏洞,可能会直接导致一家公司破产! 数据库输入漏洞,主要是开发人员在构建代码时,没有对输入边界进行安全考虑,导致攻击者可以通过合法的输入点提交一些

    2023年04月20日
    浏览(47)
  • 【burpsuite安全练兵场-服务端1】SQL注入-17个实验(全)

    博主:网络安全领域狂热爱好者(承诺在CSDN永久无偿分享文章)。 殊荣:CSDN网络安全领域优质创作者,2022年双十一业务安全保卫战-某厂第一名,某厂特邀数字业务安全研究员,edusrc高白帽,vulfocus、攻防世界等平台排名100+、高校漏洞证书、cnvd原创漏洞证书等。 擅长:对于

    2024年02月02日
    浏览(34)
  • 一次简单的SQL注入靶场练习

    为了巩固SQL注入以及实战演练的需要,我们来做一次简单的关于SQL注入的实战靶场练习 靶场下载地址: https://download.vulnhub.com/pentesterlab/from_sqli_to_shell_i386.iso 因为是linux系统,大家要注意安装的是linux的Debian系统,系统才能正常的运行,然后在设置里放置iso光盘就可以了。 安

    2023年04月10日
    浏览(39)
  • 【SQL注入漏洞-04】布尔盲注靶场实战

    当我们改变前端页面传输给后台sql参数时,页面没有显示相应内容也没有显示报错信息时,不能使用联合查询注入和报错注入,这时我们可以考虑是否为基于布尔的盲注。 利用页面返回的布尔类型状态,正常或者不正常; 我们输入的语句让页面呈现出两种状态,相当于true和

    2023年04月16日
    浏览(60)
  • SQL注入 - sqlmap联动burpsuite之burp4sqlmap++插件

    目录 sqlmap和burpsuite介绍 sqlmap4burp++介绍 sqlmap4burp++的使用 小插曲:sqlmap报错文件不存在怎么办? SqlMap sqlmap 是一款自动化检测与利用SQL注入漏洞的免费开源工具。 可用于检测利用五种不同类型的SQL注入: 布尔型盲注(Boolean-based blind)即可以根据返回页面判断条件真假的注入

    2024年03月12日
    浏览(61)
  • 靶场:sql-less-18(HTTP头注入)

    本文操作环境:Kali-Linux 靶场链接:Less-18 Header Injection- Error Based- string 输入用户名和密码以后,我们发现屏幕上回显了我们的IP地址和我们的User Agent 用hackbar抓取POST包,在用户名和密码的位置判断注入点,发现用户名和密码的位置都是没有注入点 猜想可能注入点在User Agent这

    2024年03月11日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包