php注射漏洞的总结与讲解.docVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Php注射漏洞的总结与讲解 前置知识 php和mysql的一些基础的应用和总结 这里的前置知识我会渗透到一下的教程当中所以不作为一课讲解 php+mysql数字型注射漏洞的利用方法 本节课程用的是随便在站长站下载一个php代码发现这个作者自己说自己是第一次写完成程序,看来不错啊,有漏洞在所难免,而且很多漏洞都是非常经典的。所以我们学习他的安全的同时也要学习着帮他修补下漏洞。 这节课程讲的是php的数字型注射,所以我们就不多罗嗦了。 我们首先打开article.php文件,看如下代码: $tid = $_GET[id]; $sql = select * from diary where id = $tid; $sql1 = update diary set hit=hit+1 where id = $tid;//点击率 //$hit = mysql_query(update diary set hit=hit+1 where id=.$GET[id]);//点击率 $result = mysql_query($sql); mysql_query -- 发送一条 MySQL 查询Ord()//将字符转换为ascii码 Strlen()//获取字符串长度 substr(string,start,length) 参数 描述 string 必需。规定要返回其中一部分的字符串。 start 必需。规定在字符串的何处开始。 正数 - 在字符串的指定位置开始 负数 - 在从字符串结尾的指定位置开始 0 - 在字符串中的第一个字符处开始 length length可选。规定要返回的字符串长度。默认是直到字符串的结尾。 正数?- 从 start 参数所在的位置返回 负数?- 从字符串末端返回 Php注解有两种形式/*,/**/,#。 这里如果大家有看一些黑客类杂志或者有看过一些网站入侵文章就会有些了解。 例如:phpcms2007的漏洞 guestbook/?gid=1keyid=%d5/**/union/**/select/**/1,2,3,4,concat(userid,0x7C,username,0x7C,password,0x7C,authstr),6,7,8,9,10,11,12,13,14,15,16,17%20from%20phpcms_member%20where%20groupid=1%23 这里不禁利用了/**/还利用了# // #的URL编码为%23 空格的URL编码为%20 $sql = select * from diary where id = $tid; 还是这句,我们先根据这句话来分析,到phpmyadmin找到diary 表看有多少个字段 id title content date hit cid?栏目id 71 fsdfsdf pfdsfddsfsdfdsfdsf/p 2009-01-20 4 0 72 fdsfsdfd pfsdfsdfdsfdsfsd/p 2009-01-20 17 19 Union联合查询: 首先我们需要学习下联合查询union。大多数php入侵都是利用这个union。(在php4以前版本不适用。) UNION?指令的目的是将两个 SQL 语句的结果合并起来。从这个角度来看,?UNION?跟?JOIN有些许类似,因为这两个指令都可以由多个表格中撷取资料。?UNION?的一个限制是两个 SQL 语句所产生的栏位需要是同样的资料种类。另外,当我们用?UNION这个指令时,我们只会看到不同的资料值 (类似 SELECTDISTINCT)。 UNION?的语法如下: [SQL 语句 1] UNION [SQL 语句 2] 假设我们有以下的两个表格, Store_Information?表格 store_name Sales Date Los Angeles $1500 Jan-05-1999 San Diego $250 Jan-07-1999 Los Angeles $300 Jan-08-1999 Boston $700 Jan-08-1999 Internet Sales?表格 Date Sales Jan-07-1999 $250 Jan-10-1999 $535 Jan-11-1999 $320 Jan-12-1999 $750 而我们要找出来所有有营业额 (sales) 的日子。要达到这个目的,我们用以下的 SQL 语句: SELECT Date FROM Store_Information UNION SELECT Date FROM Internet_Sales 结果: Date Jan-05-1999 Jan-07-1

文档评论(0)

精华文档888 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档