攻防世界 baby-web续及disabled_button

分析Python脚本

import requests(引入第三方库,此库与网站、资源有关)
url = "http://61.147.171.105:64762/index.php"
response = requests.get(url, allow_redirects=False)(请求目标地址,禁止重定向,具体意思即使访问index.php的内容而非1.php跳转之后的内容)
if 'FLAG' in response.headers and 'flag{' in response.headers['FLAG']:
    flag_stare = response.headers['FLAG'].index('flag{')
    flag_end = response.headers['FLAG'].index('}', flag_stare) + 1('+1'是使'}'包含在内)
    flag = response.headers['FLAG'][flag_stare:flag_end](检查响应头中的'FLAG' 字段是否存在,字段的值中是否包含 'flag{' 字符串,提取flag)
    print("存在flag" + flag)
else:
    print("未找到flag")

攻防世界 baby-web续及disabled_button_第1张图片

 得到flag。

disabled_button题

由题目描述得知做题思路是让不能按的按钮变成能按的按钮,是一个前端绕过题。

方法一

首先打开场景,f12打开查看器定位到button,(当内容太过华丽,选项很多时用小箭头在图上寻找需要的内容,标签就会自动定位到所选内容)

攻防世界 baby-web续及disabled_button_第2张图片

发现有个disabled,还有一个空的"",说明这部分是导致按钮不能按的原因,直接在自己的本机对它进行修改,删掉这部分,

攻防世界 baby-web续及disabled_button_第3张图片

 修改后按钮就可以按了,得到答案。

(注意,按完得到答案后不能再按按钮了,因为设置是临时的,刷新后会变回原样,毕竟源文件在服务器上,本机修改不会对服务器源码有任何影响,刷新后服务器重新进行响应)

方法二

使用bp抓包,发现原题是POST传参,而抓包内容是GET传参,

攻防世界 baby-web续及disabled_button_第4张图片

 攻防世界 baby-web续及disabled_button_第5张图片

 因此我们只需把抓到的包改成POST,然后

name就是传参名,value就是值,所以我们再添加 auth=flag,修改后执行完回显出答案。

攻防世界 baby-web续及disabled_button_第6张图片

 方法三

编写python脚本,

攻防世界 baby-web续及disabled_button_第7张图片

import requests
url='http://61.147.171.105:63362/'
data={'auth':'flag',}(小字典,即auth=flag)
response=requests.post(url,data=data)     (url是post目标,前面data是正常要传输的数据,定义好的变量,后面data是自定义的要传输的东西,即data={'auth':'flag',})
if 'cyberpeace{'in response.text:
    flag_start=response.text.index('cyberpeace{')
    flag_end=response.text.index('}',flag_start)+1
    flag=response.text[flag_start:flag_end]  (从头到尾遍历)
    print("存在flag:"+flag)
else:
    print("未找到flag")

你可能感兴趣的:(前端,python,开发语言)