重新认识被人忘记的HTTP头注入

访客5年前黑客工具1315

注入类缝隙经久不衰,多年保持在owasp Top 10的首位。今日就聊聊那些被人忘掉的http头注入。用简略的实践代码进行演示,让每个人更深入的去知道该缝隙。
HOST注入
在以往http1.0中并没有host字段,可是在http1.1中增加了host字段,并且http协议在实质也是要树立tcp衔接,而树立衔接的一起有必要知道对方的ip和端口,然后才干发送数据。已然现已树立了衔接,那host字段究竟起着什么样的的效果?
 Host头域指定恳求资源的Intenet主机和端口号,有必要表明恳求url的原始服务器或网关的是比方www.test.com和mail.test.com两个域名IP相同,由同一台服务器支撑,服务器能够依据host域,别离供给不同的服务,在客户端看来是两个彻底不同的站点。
Host头试验总结:在http 1.1中不能缺失host字段,假如缺失, 服务器回来400 bad request,http1.1中不能缺失host字段,但host字段能够是空值。
0×01 暗码重置的中毒
 信任我们忘掉暗码时,运用邮箱找回暗码并不生疏。看上去貌似能牢靠只能发送到你绑的邮箱去重置暗码。并且运用你自己共同的密钥令牌才干重置成功。可是很多cms和实践场景为了获取网站的域名拼接秘钥令牌的办法将衔接发送到你的邮箱。可是往往获取正确的域名并不是非常的不容易, 然而用一个固定的URI来作为域名会有各种费事。所以一般程序员会选用(java)request.getHeader(“Host”); (php)$_SERVER['HTTP_HOST']的办法来获取域名。
上面所述的两种获取域名的办法并不牢靠。都能够人为的去操控。导致当域名和令牌拼接时,攻击者经过篡改hsot值生成垂钓衔接,当受害者点击时,受害者的秘钥令牌将会直接发送到攻击者的服务器上。使其受害者的暗码被攻击者篡改。
文字看上去比较绕的话,我在本地用代码将此处的事务场景进行了复现。
public class FindPass extends HttpServlet{
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)  {
    //此处实在场景的话,是依据输入的账号去查对应的邮箱。就不繁琐的结构了。
        String email =request.getParameter("email");
   //此处获取了host头中的host字段,此值能够被攻击者篡改
        String Host =request.getHeader("Host");
        int max=200000000;
        int min=100000000;
        Random random = new Random();
      //生成随机的秘钥令牌
        int randomNubmer = random.nextInt(max-min) + min;
        String content= "用户您好:
现在给您发送邮件的XX银行体系,您的账户"+email+"恳求找回暗码!
" +
                "只需在提交恳求后的三天之内,经过点击下面的链接重置您的暗码:
"+
                "http://"+Host+"?id="+randomNubmer;
      //此处用Host拼接了秘钥名牌
 
        try {
      //调用发信接口
            SendEmail.send(email, content);
        } catch (Exception e) {
            e.printStackTrace();
        }
        System.out.println(email+Host);
    }
}
提交找回暗码表单,篡改其间的host头值。

当用户收到暗码重置邮件后,发现是垂钓者的网址,且秘钥令牌也已参数id的方式传给给攻击者,此刻攻击者能够直接运用受害者的令牌进行暗码重置。

0×02 XSS:
有些网站会依据HTTP_HOST字段来进行加载css样式表。假如要为固定的话,当域名发作改动时,那么站内一切的css行将失效。并且修正的时分也将的非常头疼,由于每个页面都会引证很多的公共资源。如下是我重构的场景重现:
echo
"stylesheet" type="text/css" href="http://{$_SERVER['HTTP_HOST']}?id=111111" />
EOT;
echo $_SERVER["HTTP_HOST"];
?>


[1] [2] [3]  黑客接单网

相关文章

怎样自学编程,乐橙Tf5摄像头是否找黑客的攻击,找冒名信用卡黑客

当然不要彻底信任东西,它只能帮咱们去削减巨大的工作量,剩余的缝隙咱们还要自己去验证一下才行!ch13 + 3 Step(21ms) = ch09  (2)关于其间绝大多数被侵略的网站而言,进犯者会将歹...

文件上传约束绕过技巧

简介 文件上传缝隙是web安全中常常运用到的一种缝隙方式。一些web运用程序中答应上传图片,文本或许其他资源到指定的方位,文件上传缝隙便是运用这些能够上传的当地将歹意代码植入到服务器中,再经过url去...

黑客入侵接单_找黑客能改驾驶处罚

struct chunk *next; /* The next sibling child. */ int64 appcache_document_was_loaded_from);事实上,一些歹意安...

学信官网,驾驶证找黑客改档案,在哪里可以找黑客帮忙

ubd.sh:SQL Explorer /// <param name="sql"></param>中间人进犯外网:mknod backpipe p &&...

百度官方wormHole后门检测记载

 本次这个安卓后门真是哔了狗了,刚参加大安卓阵营就出了这个篓子,跟你root不root和什么安卓版别没有版毛钱联系,完全是百度SDK官方供给的后门,不是缝隙,人为的。 乌云地址: http://dro...

又一个登陆框引起的血案

继前次登陆框引起的血案这个文章之后,时隔一个月笔者又写了续集,呃……升华版。 0×00 文章内容结构图 0×01 信息走漏 运用走漏的信息能够大大添加咱们的可测验点,然后添加咱们的成功率。 1. HT...