驱动管家:安全、高效、精准的专业驱动下载站!

什么是命令注入攻击?eval注入攻击代码是什么?

2018-03-13 12:12:05责编:llp   来源:驱动管家     人气:

命令注入攻击 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 要执行的命令漏洞实例例1: //ex1.php

复制代码

代码如下:

”; system(“ls -al “.$dir); echo “


”; } ?>

我们提交http:// /ex1.php?dir=| cat /etc/passwd 提交以后,命令变成了 system(“ls -al | cat /etc/passwd”); eval注入攻击 eval函数将输入的字符串参数当作PHP程序代码来执行函数原型:

复制代码

代码如下:

mixed eval(string code_str) //eval注入一般发生在攻击者能控制输入的字符串的时候 //ex2.php

当我们提交 http://www.sectop.com/ex2.php?arg=phpinfo();漏洞就产生了动态函数

复制代码

代码如下:

程序员原意是想动态调用A和B函数,那我们提交http://www.sectop.com/ex.php?func=phpinfo 漏洞产生防范方法 1、尽量不要执行外部命令 2、使用自定义函数或函数库来替代外部命令的功能 3、使用escapeshellarg函数来处理命令参数 4、使用safe_mode_exec_dir指定可执行文件的路径 esacpeshellarg函数会将任何引起参数或命令结束的字符转义,单引号“’”,替换成“\’”,双引号“””,替换成“\””,分号“;”替换成“\;” 用safe_mode_exec_dir指定可执行文件的路径,可以把会使用的命令提前放入此路径内 safe_mode = On safe_mode_exec_di r= /usr/local/php/bin/ PHP漏洞全解(五)-SQL注入攻击 // 执行mysql查询语句 $query = “select * from postmessage where id = “.$_GET["id"]; $result = mysql_query($query) or die(“执行ySQL查询语句失败:” . mysql_error()); 参数id传递进来后,和前面的字符串结合的sql语句放入数据库执行 查询提交 and 1=1,语句变成select * from postmessage where id = 71 and 1=1 这语句前值后值都为真,and以后也为真,返回查询到的数据提交 and 1=2,语句变成select * from postmessage where id = 71 and 1=2 这语句前值为真,后值为假,and以后为假,查询不到任何数据正常的SQL查询,经过我们构造的语句之后,形成了SQL注入攻击。通过这个注入点,我们还可以进一步拿到权限,比如说运用 union读取管理密码,读取数据库信息,或者用mysql的load_file,into outfile等函数进一步渗透。防范方法整型参数: 运用 intval函数将数据转换成整数函数原型 int intval(mixed var, int base) var是要转换成整形的变量 base,可选,是基础数,默认是10 浮点型参数: 运用 floatval或doubleval函数分别转换单精度和双精度浮点型参数函数原型 int floatval(mixed var) var是要转换的变量 int doubleval(mixed var) var是要转换的变量字符型参数: 运用 addslashes函数来将单引号“’”转换成“\’”,双引号“””转换成“\””,反斜杠“\”转换成“\\”,NULL字符加上反斜杠“\” 函数原型 string addslashes (string str) str是要检查的字符串那么刚才出现的代码漏洞,我们可以这样修补 // 执行mysql查询语句 $query = “select * from postmessage where id = “.intval($_GET["id"]); $result = mysql_query($query) or die(“执行ySQL查询语句失败:” . mysql_error()); 如果是字符型,先判断magic_quotes_gpc能无法 为On,当不为On的时候运用 addslashes转义特殊字符

复制代码

代码如下:

if(get_magic_quotes_gpc()) { $var = $_GET["var"]; } else { $var = addslashes($_GET["var"]); }

再次测试,漏洞已经修补 PHP漏洞全解(九)-文件上传漏洞一套web应用程序,一般都会提供文件上传的功能,方便来访者上传一些文件。下面是一个简单的文件上传表单

复制代码

代码如下:

php的配置文件php.ini,其中选项upload_max_filesize指定允许上传的文件大小,默认是2M $_FILES数组变量 PHP使用变量$_FILES来上传文件,$_FILES是一个数组。如果上传test.txt,那么$_FILES数组的内容为:

复制代码

代码如下:

$FILES Array { [file] => Array { [name] => test.txt //文件名称 [type] => text/plain //MIME类型 [tmp_name] => /tmp/php5D.tmp //临时文件 [error] => 0 //错误信息 [size] => 536 //文件大小,单位字节 } }

如果上传文件按钮的name属性值为file  那么使用$_FILES['file']['name']来获得客户端上传文件名称,不包含路径。使用$_FILES['file']['tmp_name']来获得服务端保存上传文件的临时文件路径存放上传文件的文件夹 PHP不会直接将上传文件放到网站根目录中,而是保存为一个临时文件,名称就是$_FILES['file']['tmp_name']的值,开发者必须把这个临时文件复制到存放的网站文件夹中。 $_FILES['file']['tmp_name']的值是由PHP设置的,与文件原始名称不一样,开发者必须使用$_FILES['file']['name']来取得上传文件的原始名称。上传文件时的错误信息 $_FILES['file']['error']变量用来保存上传文件时的错误信息,它的值如下:文件上传漏洞如果提供给网站访问者上传图片的功能,那必须小心访问者上传的实际可能不是图片,而是可以指定的PHP程序。如果存放图片的目录是一个开放的文件夹,则入侵者就可以远程执行上传的PHP文件来进行攻击。下面是一个简单的文件上传例子:

什么是命令注入攻击?eval注入攻击代码是什么?

这个例子没有检验文件后缀,可以上传任意文件,很明显的上传漏洞

  • asp教程 如何破解加密的asp木马登陆密码?

    asp教程 如何破解加密的asp木马登陆密码?

    破解目标:破解一经过加密的Asp木马登陆密码。由于木马里没有版本说明,具体也不知道这木马叫什么名。 破解思路:两种,用加密后的密码替换密文和利用密文及加密算法反解出密码。前者根本算不上真正的破解。如果

    详情2018-02-07 15:19:51责编:llp   来源:驱动管家     
  • 怎么用arp欺骗辅助嗅探?怎么实现改变b的数据流向?

    怎么用arp欺骗辅助嗅探?怎么实现改变b的数据流向?

    嗅探在集线器盛行的年代可简单实现你什么事情都不用干,集线器自动会把别人的数据包往你机器上发。但是那个年代已经过去了,现在交换机已经代替集线器成为组建局域网的重要设备,而交换机不会再把不属于你的包转

    详情2018-02-15 08:58:58责编:llp   来源:驱动管家     
  • 谈谈csrf的攻击原理 什么是csrf?

    谈谈csrf的攻击原理 什么是csrf?

    CSRF攻击原理解析Author: rayh4c [80sec]EMail: rayh4c 80sec comSite: http: www 80sec comDate: 2008-9-210×00 前言在Web程序中普通用户一般只在Web界面里完成他想要的操作,Web程序接受的正常客户端请

    详情2018-01-18 13:30:58责编:llp   来源:驱动管家     
  • 网站渗透经验 网站如何渗透?

    网站渗透经验 网站如何渗透?

    本文是黑客们总结的比较实用的网站渗透的一些步骤

    详情2018-03-12 17:29:06责编:llp   来源:驱动管家     
  • 通过溢出漏洞获得的cmd shell,最大的问题就是如何上传文件

    通过溢出漏洞获得的cmd shell,最大的问题就是如何上传文件

    Cmd Shell(命令行交互)是黑客永恒的话题,它历史悠久并且长盛不衰。本文旨在介绍和总结一些在命令行下控制Windows系统的方法。这些方法都是尽可能地利用系统自带的工具实现的。文件传输对于溢出漏洞获得的cmd s

    详情2018-02-15 10:12:31责编:llp   来源:驱动管家     
  • 检查出使用窗口的特定程序的第一步是查看端口是否开放

    检查出使用窗口的特定程序的第一步是查看端口是否开放

    在局域网使用中,我们常常会发现系统中开放了一些莫名其妙的端口,这就给系统的安全带来了一些隐患。为了让端口的使用尽在掌握之中,一些朋友就会使用第三方工具来进行检查出使用端口的特定程序究竟是谁,但实际

    详情2018-01-22 09:02:10责编:llp   来源:驱动管家     
  • 路由器设置 路由器连接路由器的设置方法

    路由器设置 路由器连接路由器的设置方法

    本文将为大家详细讲述路由接路由的设置方法,下面以图示先标明局域网各路由间的接法:(上联路由LAN口接下联路由LAN口不在讨论范围)上联路由设置:跟平时设置时一样,无任何难度,不过要记好上联路由网关(此例为192

    详情2018-02-02 20:08:17责编:llp   来源:驱动管家     
  • ddos攻击怎么防范?如何保护你的网络?

    ddos攻击怎么防范?如何保护你的网络?

    很多新手站长对DDoS攻击这一名词并不陌生,但什么是DDoS攻击,应该怎么防范不太清楚,现在我们用很通俗的语言来给大家解释一下:DDoS攻击其实就是一种利用某种技术手段将目标服务器与互联网连接的所有通道堵死,

    详情2018-02-05 08:52:11责编:llp   来源:驱动管家     
  • 如何堵住6129端口?反入侵的方法是什么?

    如何堵住6129端口?反入侵的方法是什么?

    同学给我介绍了一个电子商务网站,因为自己读的就是电子商务专业,加上对网络安全比较感兴趣,所以看了这样的好网站,当然要帮忙测试下网络安全啦,首先做下常见端口扫描,咦,有状况……6129端口开了,6129是上

    详情2018-03-11 15:21:13责编:llp   来源:驱动管家     
  • 验证码破解有怎么样的机制?验证码破解实例

    验证码破解有怎么样的机制?验证码破解实例

      输入表单提交网站验证,验证成功后才能使用某项功能。不少网站为了防止用户利用机器人自动注册、登录、灌水,都采用了 验证码

    详情2018-01-14 16:04:52责编:llp   来源:驱动管家