撒,来细数你的罪恶吧!(七月第一阶段,web题之forbidden)
登入题目给的网址发现直接显示的
Forbidden
但查看浏览器网络监视器发现实际上服务器返回的代码是200。
1、查看网页源码发现注释必须从本机登陆
, 则考虑伪造请求头(header)
X-Forwarded-For(XFF头)
是用来识别通过HTTP代理或负载均衡方式连接到web服务器的客户端最原始的IP地址的http字段
常用此字段实现伪造ip地址的目的
使用burp suite的proxy或repeater在请求头中加入x-forwarded-for:localhost这一行,即
2、网页源码注释变为了用域名登陆
将host:
字段的ip地址改成网页上给出的域名,80是指端口
3、网页源码注释变为了从百度跳转登陆 referer
字段用于向服务器发送请求时告诉服务器我是从哪个页面链接过来的(从哪来)
加入referer:www.baidu.com
referer的正确英语拼法是referrer 由于早期http规范的拼写错误,为了保持向后兼容就将错就错了,但也有新的网络技术纠正此问题,所以拼法不一
4、网页源码注释变为了必须通过ie4.0登陆
浏览器的相关信息在User-agent字段中反应,上网搜索了msie4.0的信息替换原浏览器信息。
5、网页源码注释变为了电脑上必须安装了.net8 由于user-agent使得服务器能够识别客户使用的操作系统及版本、cpu类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等信息,所以只需要在user-aget
中加入.net clr 8.0
6、网页源码注释变为了必须是德国用户
自然想到更改Accept-Language
,查到德国德语的代码是de-De 替换掉cn-Zh
7、网页源码注释变为了必须使用ajax登陆
查资料得知x-request-with: XMLHttpRequest说明是ajax异步请求方式
8、网页源码注释变为了没有登陆
且返回的request报文中有set—coockie:login=一串乱码
此处目的已经很明显了,只需要搞清楚怎么加密就,再将cookie设为login=true(的密文形式)即可 尝试各种解码,发现用 hex解密后得到一串末尾有‘==’的字符串 估计是还经过base64加密,经过base64解密后的字符串再油ascii hex解密得到明文“false”。
及将true经过hex->base64->hex的加密后在加入cookie的请求头(加密过程中记得去掉ox)
得到key **本题总结:做完后学习到了许多http方面的知识,了解到了相关参数名的含义,主要还是学到了做题的思路吧**