按流程:随便输——>提示admin——>输admin——>发现不行
扫目录,发现swp备份文件
用linux打开(vim -r .index.php.swp
)
1 | <?php |
然后代码审计:
真做不出来,主要参考的这篇文章https://blog.csdn.net/u013577244/article/details/86310881
解题:
1 | <?php |
1 | <?php |
得到flag
按流程:随便输——>提示admin——>输admin——>发现不行
扫目录,发现swp备份文件
用linux打开(vim -r .index.php.swp
)
1 | <?php |
然后代码审计:
真做不出来,主要参考的这篇文章https://blog.csdn.net/u013577244/article/details/86310881
解题:
1 | <?php |
1 | <?php |
得到flag
方法和都过滤了(web36)差不多
这次用username=admin'^(ascii(mid((password)from(§1§)))<>ascii('§4§'))#&password=123
在bp上爆破,网站一如既往的容易挂
上脚本:
1 | #!-*-coding:utf-8-*- |
md5解出来还是bugkuctf
,直接拿flag
sqlmap扫目录可以注入,但是内容为空
所以不存在猜密码的选项了
用repeater发送后看到有个tip 是一串base64加密的字符,解密后明文:
审计后发现可以构造一个不存在的用户进行登录,查询的密码要和md5加密后的一致,构造payload:
username=admin’ union select 1,md5(123)#&password=123
进入shell界面
用|
绕过
传入123|ls
没有回显
采用写入文件二次返回的方法查看结果
1 | 123|ls ../../../>test |
然后访问http://114.67.246.176:13110/test
cat出flag123|cat /flag>test
这道题本来有个DS_Store源码泄露漏洞,不过后来被修了
现在只能通过sql注入
另外,如果这道题你手注爆破的思路没有问题,但是怎么都爆破不出来……不要怀疑自己,就是平台的锅,因为这玩意动不动就挂掉,根本就爆破不出来
看提示没有过滤^
和-
,可以用异或注入
可以自己传admin'-(ascii(mid((passwd)from(" + str(i) + ")))=" + str(ord(j)) + ")-'
改变j的值测试一下,会发现只有一个的回显是username error
,其余都是password error
然后跑脚本
1 | #!-*-coding:utf-8-*- |
得到一串md5,解码出来是bugkuctf
,猜出密码是admin,直接登录
shell界面上,发现过滤了空格,读取权限也不全,flag又不在当前文件夹,只能盲猜flag在根目录
所以cat<>/flag
得到flag
文字游戏题,没什么意思,评论区大佬说的很有道理:就考了一个目录扫描
扫描出/robots.txt
打开发现/resusl.php
说什么我的ip被记录都是吓人的,其实根本不需要改xff
然后就是根据标题的“管理员”猜出password是admin,然后x=admin出答案,没意思
这道题只能靠猜,因为只有长传木马成功才能看到源码
源码如下:
1 | <?php |
因此使用burp抓包后的改动为:
Content-Type: multipart/form-data;
multipart中的部分字母改成大写的。
文件的的Content-Type: application/octet-stream,改成image/jpeg
文件后缀名改成php4
连上蚁剑,得到flag
提示是一串字符,base64解码发现解不出来东西
下载附件发现是一个函数,貌似是base64产生的方法,所以只要逆序产出就行
写一个python脚本就好(第一次做的时候写的脚本,直接贴上来了)
1 | import base64 |
得到flag(我的脚本写的不太好,前面的Flag:会变形,自己换一下就行)
查看源代码,发现admin.css有个提示
输入后发现源码
反序化验证,自己写个php:
1 | <?php |
得到s:13:"ctf.bugku.com";
然后加到cookie里就行
打开以后是php代码:
1 | <?php |
参考前面的md5撞库——前女友(web24)
这里也可以用数组绕过:?uname[]=1&id=margin
post:passwd[]=2
得到flag
我一开始也想尝试sha1撞库,虽然有是有,但是hash能达到撞库级别的都是非常庞大的数据,没法通过url来传,所以只能用数组了。
tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true