preg_match带来的安全问题[%0a可以做什么] 's

admin 2017年5月3日23:26:36评论1,678 views字数 433阅读1分26秒阅读模式
摘要

by:剑心[B.C.T]事情起源于preg_match("/^[0-9]?$/i",'',"$a")这个漏洞,由ste大牛发出来的,是说$在不带/d的情况下会表示在一个字符串结束或者结束附近,譬如php?a=123%0a就可

by:剑心[B.C.T]

事情起源于preg_match("/^[0-9]?$/i",'',"$a")这个漏洞,由ste大牛发出来的,是说$在不带/d的情况下会表示在一个字符串结束或者结束附近,譬如php?a=123%0a就可

以通过这个正则表达式但是带入一个%0a,那么很好,漏洞就回到一个%0a能做什么上来了!
黑锅已经总结了一个,在文件扩展后缀里

1.php.jpg不能执行但是
1.php.jpg%0a就可以了(linux环境下)

另外如果在写文件的时候%0a就是一个新行了,对于数据库为文本的就是一个新记录

还有呢?数据库在对待1和1%a的时候是不一样的,1%a被更新到一个int类型的字段可能会导致溢出

在一些协议如http和ftp里%0a可以是一个新的命令的开始

。。。。。。

其他的就看具体的程序了

http://blog.php-security.org/archives/76-Holes-in-most-preg_match-filters.html

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2017年5月3日23:26:36
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   preg_match带来的安全问题[%0a可以做什么] 'shttps://cn-sec.com/archives/49676.html

发表评论

匿名网友 填写信息