您的位置 » 首页 » 代码审计 » 某开源php程序的某安全漏洞引发的思考

某开源php程序的某安全漏洞引发的思考

发表于5年前 | 作者: seay | 分类: 代码审计 | 孵化于:2012年10月24日 | 文章热度:2,826 次 全屏阅读

显示不全请点击全屏阅读

看public_get_suggest_keyword 这个函数:
/phpcms/modules/search/index.php中
[php]
public function public_get_suggest_keyword() {
$url = $_GET[‘url’].’&q=’.$_GET[‘q’];

$res = @file_get_contents($url);
if(CHARSET != ‘gbk’) {
$res = iconv(‘gbk’, CHARSET, $res);
}
echo $res;
}
[php]
$url = $_GET[‘url’].’&q=’.$_GET[‘q’];
url没有任何白名单,没有任何过滤就杀进代码中
[php]
$res = @file_get_contents($url);
又一个这个函数,如果弄一个大文件,那么直接可以把服务器搞垮
搜索了一圈,只有在一个JS中用到这个代码:
[javascript]
$(document).ready(function() {
$(“#q”).suggest(“?m=search&c=index&a=public_get_suggest_keyword&url=”+encodeURIComponent(‘http://www.google.cn/complete/search?hl=zh-CN&q=’+$(“#q”).val()), {
onSelect: function() {
alert(this.value);
}
});

});
警示:
1. 传递进来的参数一定要进行安全过滤
2. 如果进行url,路径操作,一定要进行路径过滤
3. 对外少用@file_get_contents 怎么死都不知道
4. 上面那种情况一定要做域名白名单

非原创

Tags:

php安全漏洞,

如果您喜欢我的博客,欢迎点击图片定订阅到邮箱填写您的邮件地址,订阅我们的精彩内容: 也可以点击链接【订阅到鲜果】

如果我的想法或工具帮助到了你,也可微信扫下方二维码打赏本人一杯咖啡


来自 Seay互联网安全博客
本文地址:http://www.cnseay.com/1511/
文章版权说明请看置顶文章,尊重作者,转载请以链接形式标明原文地址

马上分享给你的朋友吧~

发表评论

你的大名(必填)

你的邮箱(必填)

评论内容(必填)