【代码审计】对另一套钓鱼网站的代码审计

news/2024/5/9 20:48:11/文章来源:https://blog.csdn.net/qq_39997096/article/details/110480118

前言

之前有粉丝投稿过一篇对钓鱼网站的代码审计,然后就有位老哥给我发了另一套还算比较新的钓鱼网站的源代码让我玩玩。源码收到后拖了好几天终于抽出一点时间来审计一下并记录此文。(打工人就是一块砖,哪里需要往哪里搬~)

 

钓鱼网站介绍

通过本地搭建该钓鱼网站,发现这是一个通过抓取转转交易网、猎趣交易网等页面的,伪造真实的商品购买页面进行钓鱼,受害人下单了但是钱却不是走官方平台交易,而是进了骗子的钱包,而受害者也不会真的收到购买的商品。

前台钓鱼页大概长这样~(随便生成了一个)

 

 

 

页面还是很逼真的~

后台长这样:

 

 

 

代码审计

一、自带php大马后门

路径:/detail/js/jb666.php

没什么可说的,作者偷偷加的后门用于黑吃黑~

 

二、垂直越权漏洞

打开后台登录页面/admin.php

输入正确的账号密码admin/admin888,走一下登录流程

 

根据action跟踪到/admin/index.php

 

继续跟到/admin/function/admin_login.func.php,发现这里有一个创建cookie的函数,键为“Aname”,值为变量$_Aname的值

 

继续往下看,发现登录成功了之后其实就是将前面“Aname”的值改为数据库中admin_user表中的标识登录的au_name的值

 

 

对比登录前后的cookie,其实只是多了一个“Aname=admin”

 

 

所以说我们访问需要权限验证的页面,只需要在cookie中加上“Aname=admin”就可以用管理员的身份去登录了

其他页面判断是否登录的逻辑也是这样

 

三、未授权的文件上传

路径:/admin/pluploadajax.php

这是一个文件上传功能点,写的也比较简短,代码如下

 

可以看到采用白名单的形式,通过判断后缀是否在白名单数组中来判断是否允许上传。

此处还对上传成功后的文件以时间+随机数的方式进行了重命名,所以任意文件上传漏洞是没有了。

但是可以注意到,这个功能点的执行没有经过任何身份上的验证,而这个功能点为后台添加商品图片的上传功能点。

 

 

我们可以在不登录的状态下就可以实现文件上传。虽然只能上传白名单里面的文件类型,并且有大小控制。不过对于钓鱼网站,我们可以无限重放上传的数据包,来塞满钓鱼网站管理员(服务器的硬盘~)。

 

 

四、钓鱼页sql注入

路径:/liequ/index.php

 

 

可以看到这里直接将$_GET[ClickID]带进了sql语句中去执行,没有任何的保护。

 

  •  
mysql_query("UPDATE goods SET hits = hits+1 WHERE goods_id = $_GET[ClickID]; ");

 

翻到头部,可以发现这是一个提供访问的页面,也就是说下面的代码允许被外部访问执行。

 

 

根据代码逻辑找到后台的功能点

 

 

所以注入点就在管理员对外发出去的钓鱼页面的url,比如说我这里为:http://test.com:8888/liequ/?i=344454208448619627y.shtml&liequSourceFrom=405768498802247074p&ClickID=13

 

注入点就在ClickID这个参数了,其实这个不用审计光黑盒fuzz也能出来~~

 

 

五、储存型xss漏洞

xss漏洞一般从功能点出发,xss的触发页面必须要打到管理员才行。

我们先看后台功能点,发现从外部获取并展示到后台的内容,好像只有钓鱼收集的信息。

 

 

那我们就从这里入手吧,这里是用iframe嵌入的,邮件找到框架地址http://test.com:8888/admin/?Admin=Goods_OrderList1

 

 

根据url可知是调用/admin/index.php这个文件,参数为Admin=Goods_OrderList1。

跟踪到/admin/index.php里面去看一下。

 

包含文件/admin/template/Goods_OrderList1.inc.php,再跟过去看看。

找到显示的地方,发现是直接echo出来的,没做其他的处理,比如说收货人为$_List['uname']

 

 

收货人$_List['uname'],我们继续追踪,看看这个$_List有没有经过处理。

 

 

没看到有对“收货人”内容进行处理的地方,我们再继续到传入点去看看。

传入点就是从管理员发出去的钓鱼页面,一步步点到收货信息那一个填写的表单,我这边为http://test.com:8888/liequ/address.php?gid=13

 

跟踪到/liequ/address.php,发现就是一个简单的表单,也没做其他的处理。

 

 

提交测试一波,发现成功触发xss

 

 

不止这一处,其他地方同理~

这个从黑盒的角度也会怀疑到xss的问题,不过只能靠盲打一波~不过我还是选择第二条中的越权更方便~~

 

六、后台sql注入

这里是后台还是前台注入都不重要,因为根据前面第二个越权的漏洞,后台随便进~

后台选择一个商品修改或者添加商品都一样

 

就拿这个“浏览量”来说

 

 

该表单提交的地址为/admin/?Admin=GoodsCommand2&action=edit&id=13,其中浏览量的对应的字段为“hits”

 

同样根据action跟踪到/admin/index.php

 

再继续跟到/admin/function/goods_carried1.func.php,因为这里是将表单中我们编辑的内容保存到数据库,所以对应的是一个insert。

 

 

同样没有加任何保护措施,测试触发注入成功

 

 

当然,不止“浏览量”这个字段,通过上面的代码可以发现,刚刚提交的所有字段都存在~

源码:https://pan.baidu.com/s/1U5SpreRemQRqh23CX7IKBA 提取码:n3lp 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_862989.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用IntelliJ IDEA开发SpringMVC网站(一)开发环境

文章已针对IDEA 2016做了一定的更新,部分更新较为重要,请重新阅读文章并下载最新源码。 另外:文中的附图部分仍然为旧版本,请参照自身版本进行配置。 前言 由于近期一直在做学术方面的工作,项目开发相关工作并没有花太…

使用IntelliJ IDEA开发SpringMVC网站(二)框架配置

文章已针对IDEA 2016做了一定的更新,部分更新较为重要,请重新阅读文章并下载最新源码。 另外:文中的附图部分仍然为旧版本,请参照自身版本进行配置。 五、SpringMVC框架配置 进行完上面的配置,那就说明现在基本的开发…

使用IntelliJ IDEA开发SpringMVC网站(三)数据库配置

六、数据库配置 下面,就要通过一个简单的例子,来介绍SpringMVC如何集成Spring Data JPA(由 Hibernate JPA 提供),来进行强大的数据库访问,并通过本章节的讲解,更加深刻地认识Controller是如何进…

使用IntelliJ IDEA开发SpringMVC网站(四)用户管理

七、用户管理 既然我们要做一个博客管理系统,当然要首先实现我们的用户管理。在上一文中,我们已经配置好了数据库。接下来,就要实现网站的一些业务逻辑。 1、JPA操作定义 在实现用户管理操作之前,需要讲解一下JPA的开发工作。 首先…

个人网站搭建保姆级教学:Hexo + Kaze + Gitee Pages

前 言 建网站本身是一个很大的工程,涉及前端页面的搭建,网站数据的存储,还要购置服务器资源,甚至是后期的维护,过程相当繁琐。 不过如果仅仅是想搭建个人的网站,写写博客,想要美观&#xff0c…

搭建 Drupal 个人网站的图文教学

操作场景 Drupal 是使用 PHP 语言编写的开源内容管理框架(CMF),由内容管理系统(CMS)及 PHP 开发框架(Framework)共同构成。Drupal 具备强大的定制化开发能力,您可使用 Drupal 作为个…

云服务器,网站域名没有备案为啥就无法访问呢?

不是阿里云的要备案,而且只要是服务器在国内的,就都要备案才可以正常使用的哦! 下面咱们逐个解答题主的问题: 1、备案指的是域名备案还是ip备案还是阿里云租的服务器备案? 备案指的是域名的备案,因为备案…

利用爬虫爬取看看豆网站站的数据信息

其实很早我就开始关注爬虫技术,这两天特别学习了一下,并且做了一个简单的demo。爬取了看看豆网站的数据信息。总共11751本书,爬取了不到3个小时,基本每秒爬取1条。速度慢的原因主要是单线程,使用mysql数据库。想要提高…

利用爬虫爬取 zol网站热门手机

使用了20几分钟,爬取了zol相关的热门手机型号、特点、价格、上市时间、屏幕大小相关信息。对最新的热门手机做了一个简单的统计。如果你想知道任何其他的信息,可以给我留言。我已经把我的相关代码传导了github上。欢迎下载。另附其中还有关于LOL英雄数据…

又拍网架构-又一个用到PYTHON的网站

又拍网是一个照片分享社区,从2005年6月至今积累了260万用户,1.1亿张照片,目前的日访问量为200多万。5年的发展历程里经历过许多起伏,也积累了一些经验,在这篇文章会介绍一些在技术上的积累。 又拍网和大多数Web2.0站点…

web网站搜索框的搜索实现

js 添加一个按钮 ,给按钮,添加,onclick事件"aiqiyi()" function aiqiyi(){ var t获取搜索框值; window.location.href"http://so.iqiyi.com/so/q_"t; http://so.iqiyi.com/so/q_ 是爱奇艺的搜索&#xff…

IIS+php环境下TinkPHP5的网站配置总结(萌新亲测)

环境介绍 Win7;我用的是ThinkPHP5.0框架;phpStudy2008集成环境,它会集成php5.2到7.2的所有版本,所以免去了安装php的步骤。一开始我在本地用的是Apachephp环境运行的网站,这是没有任何问题的,但是服务器的环境是IISph…

六款堪称神器的网站

导读网站是通往互联网世界的一大工具,在这片信息的海洋上,总有那么几款产品,如海岛般骄傲伫立,带给人不一样的感觉。当然,本文的标题是有失公允的,世界是优秀的产品不计其数,要分类罗列出来简直…

APP设计与网站着陆页设计

APP设计 可用性的四要素 o 功能性:这个产品能够正常工作吗? o 可学习性:这个产品在不经过额外学习的情况下能够顺利使用吗? o 灵活性:除了完成主要的任务之外,这个产品能做更多的事情吗&#xff1…

win2012 服务器IIS 8.0 搭建FTP,VS2015发布网站(一)FTP设置

沉寂了段时间,想明白了一些事情,现在准备学学asp.net5当前微软的主流mvc5开发网站 现在想用nopcommerce 搭建商城,作为业余时间的爱好玩玩 首先,打开服务器管理器,点击添加角色和功能 web服务器IIS里面这些选项打勾 然…

win2012 服务器IIS 8.0 搭建FTP,VS2015发布网站(二)Visual Studio发布网站

书接上文,右键项目,点击发布 发布web里面,点击 自定义 输入配置文件名称 发布方法-选择FTP 服务器-填写ftp://ftp服务器地址:端口,例子:ftp://baidu.com:21端口号一定要加 站点路径-如果ftp的根路径是/,网站绝对路径…

python爬取前程无忧招聘网站数据搭建Hadoop、Flume、Kafka、Spark用Hive做数据分析Sqoop存储到Mysql并实现可视化

文章目录 一、项目总体要求二、环境搭建1、安装包准备2、安装jdk(1)查询是否安装java(2)卸载jdk(3)安装jdk(4)配置jdk环境变量 3、配置ssh免密登录(1)进入到我…

爬取我爱我家网站二手房信息

items文件定义爬取数据: apartment scrapy.Field() total_price scrapy.Field() agent scrapy.Field() image_urls scrapy.Field() images scrapy.Field()spider文件: # -*- coding: utf-8 -*- import scrapy from pachong2.items import Pachong…

使用httpwebrequest发送数据到网站

怎样通过HttpWebRequest 发送 POST 请求到一个网页服务器&#xff1f;例如编写个程序实现自动用户登录&#xff0c;自动提交表单数据到网站等。 假如某个页面有个如下的表单&#xff08;Form&#xff09;&#xff1a; <form name"form1" action" http://www.…

大型电子商务网站架构

大型电子商务网站架构 (转自&#xff1a;http://www.cnblogs.com/skydau/archive/2009/08/30/1556701.html) 7.同一个网站的多语言该如何处理是好,使用配置文件然后cookie或url来判别?客户是自己公司&#xff0c;使用标准方法即可 8.电子商务网站最多的就是 商品的打折方式和…