1.view-source
步骤:ctrl+u 或者按f12键,即可查看源代码,从中找到flag。
2.robots
步骤:地址栏输入robots.txt,即可看到robots文件,查看该php文件即可获取flag。
3.backup
步骤:备份文件一般为.bak后缀,文件名为index.php,尝试输入index.php.bak,获取到备份文件,打开文件,获取到flag。
4.cookie
步骤:f12打开控制台,刷新请求,在网络一栏成功的请求中,找到cookie,发现cookie.php文件,输入文件地址,得到进一步提示,flag藏在消息头中。
5.disabled_button
步骤:f12打开控制台,查看代码,发现disabled属性禁用了input,删除disabled或者改为able,按钮即可按下,找到flag。
第二种方法:查看代码发现,提交的请求名字为auth,值为value,因此hackbar提交post请求,即可找到flag。
6.weak_auth
步骤:看到用户名密码,就输了admin,123456试了一下,居然直接就出来了....过于简单...还是按照常规思路来试一下...
通过burp进行暴力破解:
burp爆破:开启burp,浏览器设置本地代理抓包,发送到intruder,进行密码爆破。因只需对password参数爆破,所以在password参数两边添加$,然后点击payload载入字典进行爆破,可以看到只有123456的响应包长度和其他密码不同,即确定密码为123456。
7.simple_php
步骤:开启环境,代码如下,分析代码可知:a=0且a的值为真,可以得到flag1,b的值不为数字且b的值大于1234,可以得到flag2,因此,这里用到php的弱类型比较。=== 在进行比较的时候,会先判断两种字符串的类型是否相等,再比较;== 在进行比较的时候,会先将字符串类型转化成相同,再比较;
因此,构造语句:/?a=abc得到flag1;这里,abc可以替换为任意字符;is_numeric()函数用来检测类型是否为数字或者数字字符串,构造语句:/?a=abc && b=1235a即可得到flag2;(弱类型比较中,'abc'==0为真;'1234a'==1234为真,所以,只需前四位数字大于1234,后面再跟任意字符即可)
8.get_post
步骤:get请求直接在链接后添加?a=1即可,post请求可使用火狐插件hackbar构造post请求,或者在cmd命令行使用curl构造post请求;curl -d: --data HTTP POST 提交数据。
9.xff_referer
什么是referer?referer 是 http 请求header
的一部分,当浏览器(或者模拟浏览器行为)向web
服务器发送请求的时候,头信息里有包含 referer。比如我在www.sojson.com
里有一个www.baidu.com
链接,那么点击这个www.baidu.com
,它的header
信息里就有:Referer=http://www.sojson.com
步骤:curl命令构造语句:curl-H/--header
使用burp发送到repeater进行改包操作,也能找到flag;
也可利用firfox插件:X-Forwarded-For Header修改IP地址,利用hackbar修改referer,也可获得flag;
10.webshell
步骤:使用hackbar构造请求,爆出flag文件;构造第二个请求,找到flag;
11.command_execution
原理:&& 前一个命令执行成功时,再执行第二条命令;| 将前一个命令的输出作为下一个命令的输入,并且只打印命令2的结果;
步骤:根据环境判断为命令执行,ping 127.0.0.1 执行成功,可以构造127.0.0.1 && find / -name flag.txt查询flag路径,接着构造
127.0.0.1&& cat /home/flag.txt,找到flag。
12.simple_js