BUUCTF 菜鸟记录
Basic
BUU LFI COURSE 1
魔法才能进网站,不知为何。
$_GET表示获取通过get方法传递的信息,这些信息会显式地出现在URL栏中。
isset就是检验是否有file参数,如果有,通过include语句,引入并执行file参数指定的文件。
那么给URL构造一个?file=/flag
的payload即可。
注意,?flag=flag
是不行的。/flag表示绝对路径,是在服务器根目录下找;flag表示相对路径,是在当前目录下找。
BUU BRUTE 1
看了看源代码,只知道是get传参。
用户名只能靠猜,试出来是admin。
随便输个密码提示四位,那么如标题所言,搓个python暴力即可。其中requests是支持http请求的库。
import requests
url="http://b34c2fa6-7d21-4b3b-9ae4-6a94783a3b0f.node5.buuoj.cn:81/?username=admin&password="
for a in range(1000,10000):
res=requests.get(url+str(a))
print(a)
print(res.text)
if res.text!="密码错误,为四位数字。":
break
好纯度的服务器啊(汗)
BUU BURP COURSE 1
提示只能本地访问。
burpsuite,启动!把请求拦截下来。
尝试添加X-Forwarded-For:127.0.0.1
,失败。
改用X-Real-IP:127.0.0.1
,成功。
我们点击登录,拦截请求,再次添加X-Real-IP字段然后转发即可。
如果有多级代理的话,X-Forwarded-For会记录完整的代理IP链,X-Real-IP只记录一个IP,可能是原始IP也可能是最后一层代理之类的。
Reverse
easyre
不明所以,打开IDA看一下。
呃……嗯。
reverse1
容易看出来,str1是我们输入的字符串,str2是答案。这个程序把str2中ascii为111('o'
)的字符替换成了48('0'
)。
点str2进去看一下,迎刃而解。
reverse2
和上一道没什么区别。
找flag没找到,倒是看到个hack。
尝试搜索字符串(shift+f12
,要记住),找左半大括号没找到,那好吧,这就是原始flag。
内涵的软件
何意味。