最近在网上闲逛的时候,发现了一个涉H的小电影网站,刚好一直想找个网站练练手,那就选择它吧,通过自己的一顿折腾,终于利用sql注入漏洞成功拿到了数据库的数据,下面整个找洞,挖洞的大概过程。
0x01—-目录扫描
这里使用御剑加进行扫描,发现了一个robots.txt文件,通过查看该文件,发现了这个网站是在国内某个开源cms基础上进行的二次开发,
于是我立马去下载了这个cms源码,因为是二次开发的网站,很多漏洞肯定是已经修补了的,于是把源码放一放,思路继往下走。
接着等待御剑扫描完毕之后,果然跟预料中的一样,没有爆出后台路径与其他关键的目录信息,看样子是做了特意的隐藏了,不过没关系,只有耐心,就不会找不到漏洞的。
通过nmap,发现开放了3306端口,应该是使用的MySQL数据库了;
接着利用超级ping发现这个网站没有使用CDN(一般没有使用CDN的网站,基本就是个小网站了,撸下来的难度又降低了些)直接掌握这个网站的真实IP,原来是服务器在香港。
1.进入网站寻找可能存在漏洞的点,
首先对整个网站进行了浏览,发现整个网站做工,有些low,没有上传的地方,
倒是存在注册功能,登录功能及购买小电影会员输入会员码的功能,
看遍整个网站发现这三个点可以尝试是否存在sql注入,说干就干。
2.切到注册界面开撸—-打开BurpSuite,抓注册界面的数据包,CTRL+R丢到Repeater模块中测试;
通过测试,注册界面这里,应该做是了相应的过滤,没有找到注入点。
3.接着继续往下撸—-切到登录框,同样的操作,丢到Reapter模块中去:
此时随便输入的账号跟密码,网页此刻是正常的;在username=111后加上单引号,尝试:
此时,可以发现状态码是500了,说明服务器出错了;说明我们输入的单引号被当作代码在数据库中执行了,可以确定这里存在SQL注入;
为了验证漏洞,在username=111后面输入“’ — wq”语句后,发现页面正常了,可以确定了存在sql注入点,这个注入点是因为单引号闭合引起的;
接着将这个数据包保存成txt文件,利用sqlmap进行跑包(如何利用sqlmap跑txt文件教程多,就不细说了),等待结果如下:
果然存在注入点,数据库是mysql,注入点是time-based blind类型(时间型盲注),我尝试了用了—dbs,获得如下两个数据:一个MySQL自带的数据库,另一个就是这个小电影的数据库了,这个W开头的数据库里肯定存在让我感觉兴趣的东西;
当我尝试用这个注入点获得更多的数据的时候,
我发现“时间型盲注”获取数据实在是太慢了,得一个字母一个字母得去猜,
于是我暂时先放弃了,毕竟还有一个“输入会员码的功能”的点还没有测试,万一有惊喜呢。
4.切换到“输入会员码功能”--又是一样的操作,抓跑丢到burp suite中去,如下图:
随意输入一串字母,提示会员码不存在,网页是正常的;接着,在这串字母后,加上单引号,如下图:
加上单引号之后,网页报错,说明这里也存在sql注入点;接着将数据包保存成txt文件,利用sqlmap进行跑包,等待结果如下图:
这是一个“联合查询”注入点,这个注入点读取数据就比之前那个快了很多,
然后利用sqlmap常用参数—dbs获取了当前网站的数据库,
利用—tables获取了整个数据库中的表及一些重要表的内容,如下图:
获得该网站的管理员的账号也密码,登录IP,登录时间,这些都是十分有用的东西,得好好收起来。
至此,就是如何利用寻找漏洞,利用漏洞的过程,通过上述操作已经成功的获得了这个网站中的数据库数据。
PS:掌握了,管理员的账号与密码之后,我在数据中的一个存在操作日志的表中,找到了后台登录地址,果然是做了隐藏,扫描工具根本不可能扫到,除非运气爆棚;
利用账号与密码成功登录了后台,拿到掌握了后台之后,某天跟一个大兄弟在一起时,他对这个线索很感兴趣,就顺手把这个线索给他了,目前应该还在办理中,等过段时间再去打听下。
1.思路清晰,做好信息收集,利用已经掌握的信息寻找可能存在漏洞的位置,手工判断注入点很重要;
2.运用burpsuite寻找注入点,一定要细心观察返回包的变化与返回的信息;
3.利用sqlmap跑数据时,“联合查询”的注入点跑包速度更快;
4.找不到网站管理后台路径时,可以尝试在数据库的表中寻找;
5.文章只是学习交流,不能做违法犯罪的事情。