本人是CTF新手,在做CTF的题发现有这么一个题,当时查看资料懂了后就没管了,结果没几天又看了一遍发现就忘了,所以写个博客记录一下。因为博主基础很差所以会写的很详细。
原题地址和题目的源码:
本题需要用的知识点:html的form属性极其标签,input标签
form标签表示向服务器提交的一个表单,其内一般添加input,select,button子标签
input标签一般规定一个用以用户输入的值
form相关的标签有很多,我这里写了几个认为比较常用的:
属性名 | 取值 | 含义 |
action | URL | 指定数据传输到的地址 |
method | GET或POST | 定义文件传输的方式 |
type | text | 显示一个普通的文本框 |
button | 显示一个普通按钮 | |
image | 将src属性的指定的图片当作一个按钮 | |
radio | 定义一个单选的按钮 | |
checkbox | 定义一个可以多选的按钮 | |
file | 定义一个上传本地文件的按钮 | |
number | 显示一个只能输入数字,正负号和字母e的文本框 | |
password | 显示一个文本框,用户输入后会变成密文 | |
显示一个文本框,用户必须输入和邮箱一样的格式 | ||
value | 任意 | 当input为文本框时显示文本框的内容,当input为按钮时,value的取值作为按钮的文字 |
readonly | 无 | 定义文本框无法修改 |
disabled | 无 | 定义按钮无法被使用 |
其实知道这些后我们直接就能看到问题所在:
源代码中action为空,表示提交会提交到本页面,传输方式method="post"为POST传输
class不用太关注,作用时引用上面的一个样式,style定义按钮的大小宽度,
type="submit"表示这是一个可以提交的按钮,value="flag"将按钮显示flag的样式,
disabled=""定义按钮不可使用,这样我们就无法点击这个按钮了,这个就是题目的关键,我们只要把这个属性删掉就可以了
删除后就可以得到按下按钮就可以得到flag: