偶遇一个钓鱼邮件中的钓鱼网站,并与年华大佬做了代码审计。据说近期全国出现多起钓鱼邮件事件,主要以各大高校为主,已有不少人上当,还需多加注意。

分析钓鱼网站

钓鱼网站采用常用空间钓鱼CMS搭建,可通过百度搜索下载源码。

源码

观察源码发现,源码中存在360safe防护机制,无法通过正常方式进行攻击。

分析

猜测钓鱼网站后台管理页面地址,发现地址为

 无法知道用户名密码,分析源码,查看是否存在绕过。观察index.php页面

发现PHP代码,存在$islogin参数判断,如果$islogin==1,则进行下一步判断,否则跳出

跳转至login.php登陆页面

发现index.php页面中引入include参数,传递$islogin参数,查看/include/common.php,找到并打开common.php页面

从中发现define(LOGIN_KEY,abchdbb768541)加密密钥从中发现/config.php配置文件以及member.php文件分别对两个文件进行观察

config.php并无有效信息

member.php中发现登陆查询数据库逻辑关系

密码判断

首先判断cookie中是否存在islogin参数,如果不存在,则跳出。

如果存在,则对cookie中的admin_user进行base64解码,然后在 fish_admin表中查询并将返回结果赋值给$udata在进行判断.

如果$udata中username值为空,则将cookie中islogin、admin_user、admin_pass赋值为空,跳出登陆。

如果不为空,则继续进行判断,

对$admin_pass进行加密处理。首先拼接数据库查询返回值中的password与LOGIN_KEY也就是刚刚在common.php中查看到的加密密钥。

进行拼接后,再进行sha1加密。

如果$admin_pass加密后的值与cookie中传递的admin_pass的值相同,则$islogin=1,完成登陆,否则islogin、admin_user、admin_pass赋值为空,跳出登陆。

用户名判断

对$_SESSION中的islogin进行判断,如果存在,则判断$_SESSION中admin_user的值。

首先进行base64解码,然后在数据库中fish_admin表中查询,如果cookie中携带的$admin_pass与加密后的密码一致,则返回$islogin=1完成登陆。

登陆绕过

分析过登陆逻辑之后,对登陆继续绕过,到达可以绕过登陆,进入后台。

首先,因为index.php页面中会判断cookie中是否存在islogin=1,所以cookie中需要存在islogin=1

所以,第一个内容为cookie:islogin=1;

接下来判断admin_user。

在member.php页面中发现,SQL语句进行查询是未进行过滤,而是直接拼接,使用传递值。

所以可以通过构造内容' union select 1,2,3,'1',5,6#。

SQL语句拼接后便变成SELECT * FROM fish_admin WHERE username=' 'union select 1,2,'1',4,5,6#limit 1

在本地数据库中进行查询尝试,得到返回结果

可以发现,查询中password返回值为1

拼接SQL语句中,使用'1'的原因为后面与LOGIN_KEY进行拼接时,需要使用字符串拼接,所以需要使用字符串进行拼接。

这时就会发现,返回值中的password也就是会被下一步的admin_pass进行接受并且拼接密钥进行sha1加密,并对cookie中的admin_pass进行匹配,如果一致,则会绕过登陆。

前一步拼接的SQL语句,使password返回值为1,则先对1与已经得到的LOGIN_KEY继续拼接,得到1abchdbb768541。

然后通过对拼接后的字符串进行sha1加密,得到05b2d871710e7871de3193152c978fa60052ec1d

将admin_user也就是' union select 1,2,'1',4,5,6#进行base64加密,得到JyB1bmlvbiBzZWxlY3QgMSwyLCcxJyw0LDUsNiM=

然后将所有得到的信息写入cookie中。cookie:islogin=1;admin_user=JyB1bmlvbiBzZWxlY3QgMSwyLCcxJyw0LDUsNiM=;admin_pass=05b2d871710e7871de3193152c978fa60052ec1d;

然后携带cookie去访问后台页面,则可以直接绕过登陆,进入后台管理。

发现页面数据只显示一页内容,通过分析list.php页面,发现传递page参数,修改page参数可切换下一页。

本次偶遇钓鱼邮件,进入后台后并未对已记录账户信息的QQ进行登陆等操作。

关注我们

Tide安全团队正式成立于2019年1月,是以互联网攻防技术研究为目标的安全团队,目前聚集了十多位专业的安全攻防技术研究人员,专注于网络攻防,网络安全,移动终端,安全开发,的IoT /物联网/工控安全等方向。想了解更多Tide安全团队,请关注团队官网:  http://www.TideSec.net或关注公众号:

钓鱼网站php,偶遇钓鱼网站的一次代码审计相关推荐

  1. 信息收集——网站克隆和钓鱼邮件

    普及网站克隆方法和邮件伪造原理和方法 网站克隆 复制目标网站前端信息 构建相似网页 获取用户登录数据 方法 cotaltstrike能够快速复制目标网站前端页面,并且复制相识度极高 cotaltstr ...

  2. 项目场景:对接支付宝支付,沙箱环境提示:支付存在钓鱼风险!防钓鱼网站的方法

    项目场景:对接支付宝支付,沙箱环境提示:支付存在钓鱼风险!防钓鱼网站的方法 问题描述: 对接中遇到的问题: 原因分析: 提示:浏览器的锅 解决方案: 关闭所有窗口,只打开那个支付页面窗口就可以 转载h ...

  3. 对接支付宝支付,沙箱环境提示:支付存在钓鱼风险!防钓鱼网站的方法

    项目场景:对接支付宝支付,沙箱环境提示:支付存在钓鱼风险!防钓鱼网站的方法 问题描述: 对接中遇到的问题: 原因分析: 提示:浏览器的锅 解决方案:   关闭所有窗口,只打开那个支付页面窗口就可以

  4. 什么是网站劫持,发现网站被劫持该怎么办?

    网站劫持是指本想打开某个网站的时候,却被拦截跳转到另一个网站页面,或者出现一个不属于此网站的广告. IIS7网站监控可以及时防控网站风险,快速准确监控网站是否遭到各种劫持攻击,网站在全国是否能正常打开 ...

  5. 渗透测试-地基钓鱼篇-Cobalt Strike钓鱼(二十五)

    ** 渗透测试-地基钓鱼篇-Cobalt Strike钓鱼(二十五) ** 作者:大余 时间:2020-12-17 简介: 渗透测试-地基篇: 该篇章目的是重新牢固地基,加强每日训练操作的笔记,在记录 ...

  6. 干货收藏 | 计算机学习绝对不能错过的10大网站(内附网站链接)

    作者:肖镇东 本文共2071字,建议阅读5分钟. 本文整理出大数据和人工智能领域最实用,质量最高的10大技术网站信息,既可以用于丰富技术知识,也可以用于学术研究. [ 导读 ]随着AI,大数据这些技术 ...

  7. JAVA WEB快速入门之从编写一个JSP WEB网站了解JSP WEB网站的基本结构、调试、部署...

    接上篇<JAVA WEB快速入门之环境搭建>,在完成了环境搭建后(JDK.Tomcat.IDE),现在是万事具备,就差写代码了,今天就来从编写一个JSP WEB网站了解JSP WEB网站的 ...

  8. jira无法访问此网站_天津制作网站公司:更换空间对网站SEO的影响

    制作网站的公司一般都会根据客户的需求进行网站空间的升级,比如由虚拟主机变成弹性云服务器,弹性云服务器配置升级如增加带宽,cpu升核,运行内存升级等等,这个时候对于网站之前做的优化会不会有影响呢? 天津 ...

  9. php实现中英文网站插件,多语言网站方案

    我的网站目前是中文网站,现在想建一个英文的网站.日文网站.德语网站等等 1.创建站点 创建站点之后切换到这个站点 2.创建对应的语言文件目录 复制目录:/api/language/zh-cn/ 到 / ...

最新文章

  1. 重构ncnn,腾讯优图开源新一代移动端推理框架TNN
  2. VSS 2005 客户端和服务器端配置总结
  3. 通过零知识证明,成为重要的区块链革新者
  4. 【2017-02-18】C#基础 - 定义变量,输入输出(最基础的编程,以及灵活多变的编写思维)...
  5. android源码下载方式
  6. php调用pdf2html,php html2pdf
  7. springboot2整合mysql5_SpringBoot2.X (二十五):SpringBoot整合 Mybatis + MySQL CURD 示例
  8. 李学勤:功利化是现在教育的最大问题
  9. php项目的建立,PHP开发-ZendStudio初学教程-建立PHP项目
  10. [转]如何用VS2005制作Web安装程序
  11. 无法启用Windows Hello-某些设置由您的组织管理
  12. [转]VC _T的用途
  13. SQLyog备份数据库
  14. deepin linux安装微信,Ubuntu20.04安装Deepin-wine,微信,Tim
  15. Linux从入门到指令详解
  16. 论文阅读——Don‘t Stop Pretraining: Adapt Language Models to Domains and Tasks
  17. 【小月电子】ALTERA FPGA开发板系统学习教程-LESSON8 LCD1602液晶显示
  18. html里面<i>和<em>标签的区别
  19. UML时序图(序列图)
  20. 2015百度之星初赛(1)1006 旋转卡壳

热门文章

  1. 网络测试仪哪个牌子好
  2. PHP.ini配置文件(转载)
  3. Centos 7 无法上网的解决办法
  4. 计算机叶老师,叶茫 - 教师简历 CV- 武汉大学计算机学院
  5. 基于Tiny-51操作系统的51单片机温度测控系统设计
  6. 风速风向 UV 相互转换
  7. 如何选择正确的RF连接器
  8. 决策树c5.0算法r语言实现,R C5.0决策树实例转摘
  9. Shell环境变量深入了解
  10. 视频千倍压缩背后的技术原理之环路滤波