[BSidesCF 2020]Hurdles
知识点:
考了一堆http请求的东西
解题步骤:
一开始是
打开有提示
然后抓包改头
原来这个意思是路径结尾为!
然后加个get请求
然后url编码把参数加上去
注意这个%00有个回车
然后就不能用burpsuite了
基本访问信息验证
在HTTP事务中,基本访问身份验证是HTTP 用户代理(如Web 浏览器)在提出请求时提供用户名和密码的方法。在基本的 HTTP 身份验证中,请求包含授权形式的标题字段Authorization: Basic <credentials>其中凭据是单个冒号连接的 ID 和密码的Base64编码:.
它被指定在RFC 7617从 2015 年起,过时RFC 2617从 1999 年起。
然后用curl来弄
然后密码设置为md5加密的open sesame
修改UA头
继续改
加xff头
然后继续改
此字段的一般格式如下:
X-Forwarded-For: client1, proxy1, proxy2
此处,值(变量)是逗号和空格的 IP 地址列表。 在冒号和空格之后,最左侧列中的值是位于最下游的客户端的 IP 地址,然后是传输连接请求的连续代理,然后是连接请求的源 IP 地址。 在此示例中,连接请求通过代理 1、代理 2,最后传播到 proxy3,该代理 3 显示为连接请求端的远程地址。
连续踩几个坑
然后加cookie
必应搜到的标识为6265
然后修改Accept头
然后谷歌翻译:希望你会讲俄语
修改Accept-Language头
加origin头
加referer头
拿到flag
最终payload:
curl -X PUT -i 'http://node3.buuoj.cn:29333/hurdles/!?get=flag&%26%3D%26%3D%26=%2500%0a' --basic -u 'player':'54ef36ec71201fdf9d1423fd26f97f6b' -A 1337v.90000 -H 'X-Forwarded-For:13.37.13.37,127.0.0.1' -b 'Fortune=6265' -H 'Accept:text/plain' -H 'Accept-Language:ru' -H 'Origin:https://ctf.bsidessf.net' -H 'Referer:https://ctf.bsidessf.net/challenges'