PHP 一句话过滤

清晨的来客 2011-03-01 01:42:35
我的网站被入侵了,联系到那个入侵者提供漏洞信息时,他只说了:

一句话过滤不完整,导致可以利用PHP一句话木马连接。

这句话是什么意思?不懂。我想弄明白接着去填补漏洞。

在某个页面还有这样的字符 <%eval request("pass")%> 。这句是ASP的吧,怎么没有解析出来?


我这个网站是PHP的。
...全文
237 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
清晨的来客 2011-03-08
  • 打赏
  • 举报
回复
谢谢大家的回答,过了这么久忘了结贴。

对于字符过滤,在PHP.ini里有个设置,magic_quotes_gpc 、magic_quotes_runtime 将这两个设置好。具体请Google。
当然如果是用空间的话,先用magic_quotes_gpc()或magic_quotes_runtime函数检查服务商以上函数的设置,以免斜杠前再被添加斜杠,导致出错。
ihefe 2011-03-01
  • 打赏
  • 举报
回复
把eval 屏蔽,是输入域都过滤关键字或者转义替换
LiveAsaMonster 2011-03-01
  • 打赏
  • 举报
回复
学习了。。
life169 2011-03-01
  • 打赏
  • 举报
回复
还有 ,所有insert update select 数据部分都用'{$var}' 而不用 .$var.形式
落叶秋2020 2011-03-01
  • 打赏
  • 举报
回复


/* 过滤_GET_POST_COOKIE_SESSION_FILES过来变量------------------------------------------------------------- */
foreach ($_GET as $get_key=>$get_var)
{
if (is_numeric($get_var)) {
$get[strtolower($get_key)] = get_int($get_var);
}else{
$get[strtolower($get_key)] = get_str($get_var);
}
}
/* 过滤所有POST过来的变量 */
foreach ($_POST as $post_key=>$post_var)
{
if (is_numeric($post_var)) {
$post[strtolower($post_key)] = get_int($post_var);
} else {
$post[strtolower($post_key)] = get_str($post_var);
}
}
foreach ($_POST as $post_key=>$post_var)
{
if (is_numeric($post_var)) {
$post[strtolower($post_key)] = get_int($post_var);
} else {
$post[strtolower($post_key)] = get_str($post_var);
}
}
/* 过滤函数 */
//整型过滤函数
function get_int($number)
{
return intval($number);
}
//字符串型过滤函数
function get_str($string)
{
if (!get_magic_quotes_gpc()) {
return addslashes($string);
}
return $string;
}


junchen168168 2011-03-01
  • 打赏
  • 举报
回复
你网站的表单处理url处理是不是过滤了非法字符和字符串,是否在表单提交的时候做了防注入控制!

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧