SQL注入之WHERE 子句中的 SQL 注入漏洞

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

🦄WHERE 子句中的 SQL 注入漏洞,允许检索隐藏数据

Lab: SQL injection vulnerability in WHERE clause allowing retrieval of hidden data

● 实验室要求

此实验室在产品类别筛选器中包含 SQL 注入漏洞。当用户选择类别时,应用程序将执行如下所示的 SQL 查询:

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

若要解决实验室问题,请执行 SQL 注入攻击,使应用程序显示任何类别(已发布和未发布)中所有产品的详细信息。

● 必要知识点

一个没有安全概念的网站,会直接将用户的输入拼接到SQL语句中进行查询。
例如当用户单击“礼品”类别时,其浏览器会请求 URL:
https://insecure-website.com/products?category=Gifts
这会导致应用程序进行 SQL 查询,以从数据库中检索相关产品的详细信息:
SELECT * FROM products WHERE category = ‘Gifts’
因此在黑盒测试中可以利用注释的方法尝试SQL注入

● 黑盒测试

● 首先访问对应的靶场界面
https://portswigger.net/web-security/sql-injection/lab-retrieve-hidden-data

● 启动靶场

  https://0a6c00d604cb757cc0978126005c00ca.web-security-academy.net/
1. 分析功能点

a. 查看网站发现类似于SHOP的网站
SQL注入之WHERE 子句中的 SQL 注入漏洞,赏金猎人学习之Burp,sql,网络安全,数据库
b. 点击进入对应的View details可以查看商品的信息
c. url拼接了/product?productId=6
SQL注入之WHERE 子句中的 SQL 注入漏洞,赏金猎人学习之Burp,sql,网络安全,数据库

2. 查看burp的历史日志记录-(寻找功能点)

a. 从总体的功能点来分析 : 加载首页→加载了很多图片→访问商品明细→展示信息
b. 因此,不难分析/product?productId=6就是我们的突破口
SQL注入之WHERE 子句中的 SQL 注入漏洞,赏金猎人学习之Burp,sql,网络安全,数据库

3. 将对应的日志信息发送到重放模块-(测试开始)

a. 发送一次数据包
SQL注入之WHERE 子句中的 SQL 注入漏洞,赏金猎人学习之Burp,sql,网络安全,数据库
b. 猜测存在注入点,尝试直接注入,将6直接修改成5+1,查看回显情况是否有变化
"Invalid product ID"说明SQL语句并不是直接结束的,例如

SELECT * FROM products WHERE category = 'Gifts'

很有可能是后面还拼加了内容,例如:

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

这时候我输入5+1会变成

SELECT * FROM products WHERE category = '5+1' AND released = 1

SQL注入之WHERE 子句中的 SQL 注入漏洞,赏金猎人学习之Burp,sql,网络安全,数据库
c. 尝试拼接注入 1' or 1=1 -- qwe
回显"Protocol error" 错误的请求,说明注入的方式不对

d. 接着测试了其他位置,发现尝试失败

4. 寻找其他功能注入点-(找错点了TAT)

a. 点击了标签,发现参数变成了
filter?category=Clothing%2c+shoes+and+accessories

并不一定只有数字的地方才是注入点

SQL注入之WHERE 子句中的 SQL 注入漏洞,赏金猎人学习之Burp,sql,网络安全,数据库

b. 尝试修改filter?category=发现内容回显在了HTML中
SQL注入之WHERE 子句中的 SQL 注入漏洞,赏金猎人学习之Burp,sql,网络安全,数据库

c. 用户可控的传参+存在回显=大概率存在注入
根据提示的代码SELECT * FROM products WHERE category = 'Gifts' AND released = 1
以及我们回显的代码/filter?category=Clothing, shoes and accessories
得到SQL语句
SELECT * FROM products WHERE category = 'Clothing, shoes and accessories' AND released = 1
d. 实验要求是显示隐藏的内容,因此我们让搜索的内容为全部
通过注释的方法,让 SQL 返回的结果为真,研究语法是单引号闭合构造Poyload如下:
/filter?category=adfad' or 1=1 -- qwe

SELECT * FROM products WHERE category = 'adfad' or 1=1 -- qwe' AND released = 1

从SQL语句结果的高亮可以发现 – 以及后面的内容都被注释掉了
服务器就会认为搜索结果为adfad,但是数据库里没有adfad结果为假,但是用或者连接,后面一句 1=1 必定为真,因此会显示所有category内的内容
5. 拼接/filter?category=adfad' or 1=1 -- qwe成功显示了所有内容(包括隐藏的内容),完成了实验
SQL注入之WHERE 子句中的 SQL 注入漏洞,赏金猎人学习之Burp,sql,网络安全,数据库文章来源地址https://www.toymoban.com/news/detail-621505.html

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

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

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

相关文章

  • SQL注入(1)--判断是否存在SQL注入漏洞

    不论是学习后端开发/数据库/网络安全,SQL注入安全隐患反复被提起 到底什么是SQL? 维基百科的定义: (1)什么是SQL? SQL是用来操控数据库的语言 (2)举一个例子,现在我们要查询电影“长津湖”的票房数据: 先想象一下开发人员是如何书写代码从数据库中拿到数据的:

    2024年02月05日
    浏览(45)
  • 【SQL注入漏洞-06】HTTP头部注入靶场实战

    常见的sql注入一般是 通过请求参数或者表单进行注入 ,HTTP头部注入是 通过HTTP协议头部字段值进行注入 。 产生HTTP头部注入的条件: 能够对请求头消息进行修改 修改的请求头信息能够带入数据库进行查询 数据库没有对输入的请求信息做过滤 User-Agent :是Http协议中的一部分

    2024年02月02日
    浏览(58)
  • SQL 注入漏洞攻击

    假设你用自己的用户名和密码登录了一个付费网站,网站服务器就会查询一下你是不是 VIP 用户,而用户数据都是放在数据库中的,服务器通常都会向数据库进行查询,要向数据库进行增删改查操作,就需要用到 SQL 语言。 但是,作为 SQL 的注入攻击者,我们并不知道网站的密

    2024年02月09日
    浏览(51)
  • SQL注入漏洞详解

            结构化查询语言(Structured Query Language,简称SQL)是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系型数据库。SQL注入漏洞主要形成的原因是Web应用程序对用户的输入没有做严格的判断,导致用户可用将非法的

    2023年04月20日
    浏览(33)
  • 漏洞原理 SQL 注入

    OWASP漏洞原理启航(第一课)-CSDN博客 OWASP漏洞原理<最基础的数据库 第二课>-CSDN博客 小皮面板(phpstudy

    2024年02月20日
    浏览(41)
  • GeoServer 存在 sql 注入漏洞

    GeoServer 是一个允许用户共享和编辑地理空间数据的开源软件服务器,支持 OGC Filter expression 和 OGC Common Query Language 语言,使用 PostGIS Datastore 作为数据库。PostGIS是PostgreSQL数据库的扩展程序,增加了数据库对地理对象的支持。 GeoServer 的受影响版本的 PropertyIsLike、FeatureId、DWit

    2024年02月09日
    浏览(41)
  • DVWA之SQL注入漏洞

    1、先确定正常和不正常的回显 回显,就是显示正在执行的批处理命令及执行的结果等。 输入1时,有回显,是正常的 数据库语句: select * from table where id =1 输入5时,有回显,是正常的 数据库语句: select * from table where id =5 输入6时,没有回显 数据库语句: select * from table

    2024年02月08日
    浏览(40)
  • 利用SQL注入漏洞登录后台

    所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击. sql注入 什么时候最易

    2024年02月09日
    浏览(40)
  • Web通用漏洞--sql注入

    mysql注入目的:获取当前web权限 MYSQL--Web组成架构 服务器搭建web服务可能存在多个站点搭建在一台服务器中,数据集中存储在数据库中,因此对数据库的管理也可以分为两种架构: 统一用户管理数据库,即对所有站点数据库的管理均为Root权限用户管理 一对一用户管理数据库

    2024年02月11日
    浏览(38)
  • 某堡垒机SQL注入漏洞

    声明 本文仅用于技术交流,请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。       中远麒麟堡垒机能够提供细粒度的访问控制,最大限度保护用户资源的安全。麒麟堡垒机存

    2024年02月09日
    浏览(36)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包