原创 | PHP 漏洞全解—命令注入攻击

admin 2024年10月27日21:46:33评论27 views字数 825阅读2分45秒阅读模式

针对PHP语言编写的WEB应用系统进行渗透测试,是学习Web渗透测试上手比较容易的方式之一,深耕PHP开发这些年,从最早的CTF题型基本都是PHP,还有实战中的一些CMS,都需要你对PHP语言的特点进行深入了解,很多人学习只知道大概,但不知道原理,从我前面写的PHP安全开发,到现在的PHP漏洞全解,都是从原理出发,学懂,学透。以后,会持续更新,各位道友可以持续关注,并留言提出宝贵意见,谢谢!

PHP 中可以使用下列 5 个函数来执行外部的应用程序或函数 system()、exec()、passthru()、shell_exec()或者(与 shell_exec 功能相同)自定义函数原型 。

string system(string command, int &return_var) 

  • command 要执行的命令 

  • return_var 存放执行命令的执行后的状态值

string exec (string command, array &output, int &return_var)

  • command 要执行的命令

  • output 获得执行命令输出的每一行字符串

  • return_var 存放执行命令后的状态值

void passthru (string command, int &return_var)

  • command 要执行的命令

  • return_var 存放执行命令后的状态值

string shell_exec (string command)

  • command 要执行的命令

漏洞实例

//ex1.php <?php   $dir = $_GET["dir"];   if (isset($dir)) {       echo "<pre>";      system("ls -al ".$dir);      echo "</pre>";     }?>

我们提交 http://www.test.com/ex1.php?dir=| cat /etc/passwd 提交以后,命令变成了 system("ls -al | cat /etc/passwd")

原创 | PHP 漏洞全解—命令注入攻击

原文始发于微信公众号(船山信安):原创 | PHP 漏洞全解—命令注入攻击

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月27日21:46:33
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   原创 | PHP 漏洞全解—命令注入攻击https://cn-sec.com/archives/3321106.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息