SRC之SQL注入漏洞挖掘实战

一、前言

                挖之前我们先来了解一下什么是SRC

                         1、什么是 SRC?SRC 是指软件漏洞报告计划(Software Vulnerability Reporting Program),它是一个公开的、协作式的漏洞管理计划。SRC 的成员会定期报告在应用程序和服务中发现的安全漏洞,以便能够制定和发布补丁程序以确保软件和系统的安全性。

                         2、SRC 的工作过程 SRC 的成员发现漏洞,确认漏洞,报告漏洞,修复漏洞,并公开发布漏洞信息和修复信息。

                         3、SRC 漏洞的类型 SRC 漏洞可以分为诸如 SQL 注入、跨站点脚本攻击(XSS)、跨站请求伪造(CSRF)、代码注入等许多类型(该知识点也是我在微信公众号推文看到的,如有侵权,请联系我,立马删除,另外该公众号为“知攻善防实验室”,推荐大家关注一下,里面有许多的技术文章值得学习)

                    接下来介绍一下什么是SQL注入以及它的危害:

概况:SQL注入漏洞是指攻击者通过浏览器或者其他客户端将恶意SQL语句插入到网站参数中,而网站应用程序未对其进行过滤,将恶意SQL语句带入数据库使恶意SQL语句得以执行,从而使攻击者通过数据库获取敏感信息或者执行其他恶意操作

危害:SQL注入漏洞可能会造成服务器的数据库信息泄露、数据被窃取、网页被篡改等!web页面源代码对用户提交的参数没有做出任何过滤限制,直接扔到SQL语句中去执行,导致特殊字符改变了SQL语句原来的功能和逻辑。黑客利用此漏洞执行恶意的SQL语句,如查询数据、下载数据,写webshell、执行系统命令以此来绕过登录权限限制等

二、实战过程

        也是罗里八嗦了一大堆,这里直接上实战:

1、先是使用google语法进行搜索:inurl:php?id=96 公司(在后面加个公司是为了防止搜出来的全是英文,国内是无法使用谷歌的,得有点魔法才行,或者可以使用谷歌镜像,这里给个链接谷歌镜像搜索-Google镜像一个神奇的网站!

2、这里也是搜出来许多:

04a620ab739343e192ccb4139c668ea7.png

2、随便点进去一个测试一下是否存在注入:

        这里提一嘴如何判断是否存在注入:可以在参数id的值后面加一个单引号'或者是双引号",来观察页面是否有报错,或者是在参数后面拼接and 1=1 和and  1=2 观察页面显示正不正常也可以试试 and -1 = -1 , and -1 = -2 and 1 > 0 等方法 或者直接 or sleep(5) 【当然sleep也可能被拦截】

来到主页面,id后面加一个’直接回车,观察页面变化,页面直接显示:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1这个是提示SQL语句语法错误,那么说明这个站有戏:

a5c562a760b14f17b1fa4f4564664e82.png

3、直接开打:

构造payloa拿到当前数据库名:)and(extractvalue(1,concat(0x7e,(select database()),0x7e))) --+

185602fbecee4ecdbd78c680d4d08548.png

4、拿表名:) and(extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 1,1),0x7e))) --+

bfead7371ce341a989458b0041bb0949.png

5、使用sqlmap验证一下:

59577660a6934bffb218c16c768b31aa.png

cba97221f62142109911c998b682c3a8.png

到这里就可以停手了,毕竟也只是挖洞,也没有得到授权,还是要懂得保护自己,(小伙伴们以后对网站进行渗透之前一定要拿到该网站的授权才能够去进行下一步哦),

三、总结:

        sql注入漏洞修复建议:

                1、通过对SQL关键字和关键符号的过滤来避免SQL注入漏洞的发生

                2、对用户的输入进行编码,基于各类数据库定义的关键字和符号的转义规则将用户的输入进行转义后组成SQL语句

                3、使用预编译语句 基于各种语言的预编译功能,先将SQL语句进行编译,用户输入的内容只会被当作参数传入,不会被编译成命令

                4、使用参数化查询:参数化查询是一种防止SQL注入的非常有效的方法。它通过将用户输入作为参数传递给数据库,而不是将其嵌入SQL查询中来工作。

我也是刚挖没多久,也是第一次写文章(想着记录一下)如果有写的不对的地方,还请各位师傅们指出。

 

 

 

  • 27
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
SQL注入漏洞挖掘实战是指通过利用SQL注入漏洞的漏洞挖掘活动。SQL注入漏洞是一种常见的数据库攻击手段,用于利用应用程序对用户输入的SQL语句进行不当处理,从而导致恶意用户可以执行未经授权的数据库操作。这些操作包括读取、修改或删除数据库中的数据。 在SQL注入漏洞挖掘实战中,黑客通常会尝试通过构造特定的SQL语句来绕过应用程序的输入验证和过滤机制,以获取敏感信息或对数据库进行恶意操作。他们可能会使用各种技术和工具来自动化这个过程,并尝试发现和利用潜在的SQL注入漏洞。 为了防止SQL注入漏洞挖掘实战,开发人员应该采取以下措施: 1. 输入验证和过滤: 应用程序应该对用户输入进行严格的验证和过滤,确保只允许合法的字符和格式。使用参数化查询或预编译语句可以有效预防SQL注入攻击。 2. 最小权限原则: 数据库用户应该被授予最低权限,以限制对数据库的访问和操作。这样即使发生SQL注入攻击,黑客也只能执行有限的操作。 3. 安全编码实践: 开发人员应该熟悉安全编码实践,并使用安全的API和框架来构建应用程序。避免将用户输入直接拼接到SQL查询中,而是使用参数化查询或预编译语句。 4. 定期漏洞扫描和安全测试: 定期进行漏洞扫描和安全测试,以发现和修复潜在的SQL注入漏洞。这可以帮助及早发现和解决问题,确保应用程序的安全性。 总结起来,SQL注入漏洞挖掘实战是黑客利用SQL注入漏洞进行恶意攻击的活动。为了防止这种漏洞的利用,开发人员需要采取一系列安全措施,包括输入验证和过滤、最小权限原则、安全编码实践和定期漏洞扫描和安全测试。这些措施可以帮助保护应用程序免受SQL注入漏洞的威胁。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [SQL注入攻击实战演示(附源码)](https://blog.csdn.net/hack0919/article/details/129880265)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

茶颜悦色vv

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值