CRLF注入学习

预备

  <CRLF>是换行符,CRLF注入顾名思义就是把换行符写入,那么要把换行符写入到哪里呢?看看下面的http头

  

  可以看到,每一行都包含特定的头部信息,然后以换行为标志写入其他的头部信息,例如Host:127.0.0.1占一行,User-Agent占一行。

  看到这里可以知道,CRLF注入就是当http头部某一行头信息可以被用户操控时,插入<CRLF>从而控制其他的头信息。

例子

  127.0.0.1/Test/CRLF注入.php?url=111111这个页面拥有CRLF注入漏洞,看看它的请求头

  

  响应头

  

  在发出http请求后,返回了一个重定向的响应头,而在响应头的Location处可以看到在url中输入的111111,该头信息可控。

  响应的内容和头部信息用两个换行符分割Content-Type:text/html;charset=UTF-8<CRLF><CRLF>1111111111haha,那么当url被构造成这样的时候,就会触发xss

  http://127.0.0.1/Test/CRLF%E6%B3%A8%E5%85%A5.php?url=http://baidu.com%0A%0D%0A%0D%3Cimg%20src=1%20οnerrοr=alert(%271%27)%3E

  响应头

  

注意 

   在实际的情况中,浏览器有xss-filter的时候可以插入X-XSS-Protection:0关闭拦截功能。

   当后台对url的输入进行检测的时候可以插入Content-Type: text/html;charset=utf-7,并把主体内容变为utf-7编码。

   当想修改可控头信息前面已被设置的头信息时,可以直接在下一行修改,后面的会覆盖前面的。

实例参考:v.shopify.com响应拆分  Twitter的HTTP响应拆分 https://www.cnblogs.com/wfzWebSecuity/p/6648767.html

转载于:https://www.cnblogs.com/iceli/p/8595125.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值