一、闯关记录
web1
提示信息:开发注释未及时删除
解题思路:右键查查看源代码
FLAG: ctfshow{092b8d0e-a5c5-448a-9046-576a8f2806e9}
web2
提示信息:js前台拦截 === 无效操作
解题思路:无法右键查看源代码-- Ctrl+U或者Ctrl+Shift+I
FLAG:ctfshow{94ba0e77-7eb6-4788-88ac-25fb901b0ef6}
web3
提示信息:没思路的时候抓个包看看,可能会有意外收获
解题思路:右键查看源代码---查看网络数据包中的流量
FLAG:ctfshow{163ab0ee-8656-4a97-a458-49e65b819cf7}
web4
提示信息:总有人把后台地址写入robots,帮黑阔大佬们引路。
解题思路:访问反爬虫文件robots.txt,得到路径/flagishere.txt。
FLAG:ctfshow{8dacfc16-aa19-404a-9351-a088e5ad1d7f}
web5
提示信息:phps源码泄露有时候能帮上忙
解题思路:根据提示访问*.phps的文件,首先尝试后台文件index.phps成功。
FLAG:ctfshow{b637ab04-e102-4116-b686-e174585509c1}
web6
提示信息:解压源码到当前目录,测试正常,收工
解题思路:根据提示测试备份文件,www.zip成功获取
FLAG:ctfshow{0f4db138-e154-4eb8-87b7-d1686d668482}
web7
提示信息:版本控制很重要,但不要部署到生产环境更重要。
解题思路:尝试源码泄露: .git .svn .cvs 等路径
FLAG:ctfshow{b14b20aa-e8a9-43f4-ab9f-7dd719f2c057}
web8
提示信息:版本控制很重要,但不要部署到生产环境更重要。
解题思路:尝试源码泄露: .git .svn .cvs 等路径
FLAG:ctfshow{5ae86b56-7523-4c4b-818d-c60758acc0ed}
web9
提示信息:发现网页有个错别字?赶紧在生产环境vim改下,不好,死机了.
解题思路:根据提示知道涉及vim缓存,百度后-->index.php.swp
FLAG:ctfshow{b542f83f-31db-456b-b537-7ce68e1d436b}
web10
提示信息:cookie 只是一块饼干,不能存放任何隐私数据
解题思路:根据提示信息,查看cookie的信息
FLAG:ctfshow%7Bafe350e8-01e8-421f-b0c9-df4c14998351%7D
web11
提示信息:域名其实也可以隐藏信息,比如ctfshow.com 就隐藏了一条信息.
解题思路:根据提示百度搜索ctfshow.com,查询TXT记录。
FLAG: flag{just_seesee}
web12
提示信息:有时候网站上的公开信息,就是管理员常用密码
解题思路:访问robots.txt文件获取到admin后台目录,查找网站有关信息:Eflyer 372619038 ,尝试账号:admin 密码:372619038登录成功
FLAG:ctfshow{25860a0b-0c49-41b3-b539-c5803dfdf943}
web13
提示信息:技术文档里面不要出现敏感信息,部署到生产环境后及时修改默认密码
解题思路:查看网页时,发现网站最底下有个文件可以下载,下载后进行访问。
FLAG:网站后台
web14
提示信息:有时候源码里面就能不经意间泄露重要(editor)的信息,默认配置害死人
解题思路:根据提示加上editor路径,点击 flash按钮 -->文件空间,能目录遍历,查看到当前网站目录下有个nothinghere目录,利用有个fl000g.txt( var/www/html/nothinghere/fl000g.txt ),访问得到flag
FLAG:ctfshow{a2c479d9-5bd6-4629-a072-c3a58dff5e94}
web15
提示信息:公开的信息比如邮箱,可能造成信息泄露,产生严重后果
解题思路:根据提示,对照12关,在网站收集到一个QQ邮箱信息,然后直接admin查看后台,尝试admin账户和admin密码,密码提示错误,有个找回密码,尝试回答密保问题找回密码,通过添加QQ获得QQ所在地为西安,成功修改密码。账号:admin 密码:admin7789
FLAG:ctfshow{2a63482e-be46-4902-a15b-5edc3819c5a9}
web16
提示信息:对于测试用的探针,使用完毕后要及时删除,可能会造成信息泄露
解题思路:根据提示访问tz.php探针页面,点击访问phpinfo页面,
FLAG:ctfshow{8b5f441d-eeea-45bd-9049-7628841d3bf3}
web17
提示信息:备份的sql文件会泄露敏感信息
解题思路:根据提示测试.sql数据库备份文件,最终backup.sql成功
FLAG:ctfshow{bd699395-9df9-4b77-9794-b394adfd65c0}
web18
提示信息:不要着急,休息,休息一会儿,玩101分给你flag
解题思路:根据提示查看网页代码,发现一个js/Flappy_js.js文件,添加路径访问后,找到游戏分数判定规则,分数大于100后弹出Unicode加密后的代码,反之失败,得到成功弹出的代码后,去尝试Unicode解码,得出【(幺幺零点皮爱皮)-->110.php】 这就很无语。
FLAG:ctfshow{4be29195-a01c-4063-ba72-9ab52ee1a6aa}
web19
提示信息:密钥什么的,就不要放在前端了
解题思路:查看网站源代码,发现账号和密码显示在其中,直接burp抓包修改MD5加密后的密码。
FLAG: ctfshow{8e6cc540-8844-48da-9060-4485f5587918}
web20
题目提示:mdb文件是早期asp+access构架的数据库文件,文件泄露相当于数据库被脱裤了。
解题思路:根据提示访问/db/*.mdb的文件,
FLAG:{ctfshow_old_database}1 8 6
二、每关的收获与思考
1:开发注释未及时删除
2:js前台拦截 === 无效操作,往往可以通过burp抓包修改结果,最终数据判断一定要交给后端去处理。
3:把后台地址写入robots.txt反爬虫文件了
4:注意响应数据包里面的cookie信息
5:phps文件:phps文件就是php的源代码文件,通常用于提供给用户(访问者)查看php代码,因为用户无法直接通过Web浏览器看到php文件的内容,所以需要用phps文件代替。其实,只要不用php等已经在服务器中注册过的MIME类型为文件即可,但为了国际通用,所以才用了phps文件类型。
6:最好不要在网站目录下进行备份文件的操作,就算备份文件的话,那么要么设置一个特别离谱的文件名称,或者把后缀改成exe或者其他后缀,再然后对压缩包进行强密码加密。【可以用木马伪造成一个备份文件,让攻击者下载点击后上线】
7:在git 克隆代码之后,还不能直接使用git,而需要初始化git,它会自动创建git仓库需要的目录。网站发布之前要及时把.git文件给删除掉。
8:SVN是一个开放源代码的版本控制系统。在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。网站发布之前要做配置好目录访问权限 。
9:临时文件是在vim编辑文本时就会创建的文件,如果程序正常退出,临时文件自动删除,如果意外退出就会保留,当vim异常退出后,因为未处理缓存文件,导致可以通过缓存文件恢复原始文件内容*.php.swp、*.php.swo、*.php.swn
10:要注意cookie里面的信息,php提供了2种设置cookie的方法,setcookie与setrawcookie,二者的区别是:前者会自动对cookie值进行URL编码,而后者不会进行URL编码,php通过$_COOKIE取得客户端发送到服务器的cookie信息,不需要进行URLDecode操作。
11:信息收集时,要注意收集网站的解析记录A记录、TXT记录、MX记录等等
12:不要把网站页面展示的相关信息作为网站后台的登录账号或者密码
13:不要把重要的东西,放到网站可下载的文档介绍中,【可以放个木马文件,让攻击者下载点击后上线】
14:网站在引用外部编辑器的情况下,要查看改外部编辑器是否存在漏洞。
15:不要将自己的邮箱暴露在网站上,更不要用网站上展示的信息作为账号密码,或者找回密码的答案。
16:网站上线后,要及时给网站探针文件给相应的访问权限,或者设置通过账号密码登录访问。
17:和关卡6一样
18:登录网站时可以查看JS的规则,说不定可以从中找到敏感文件或者相关绕过思路
19:对网站进行信息收集时,不要放过使用F12查看源代码,说不定就会有登录凭证。
20:如果发现网站框架是windows+iis+asp+access时,可以跑一下*.mdb的文件
因为access数据库特性:asp和asa都会被网站执行解析,mdb会直接下载,mdb文件一般会在他网站的目录下,可以尝试当前路径和/db/*.mdb。
团队微信公众号:MAX安全团队