一次面试的Capture The Flag
先说结论:最后没有拿到flag
面试官给出靶场要求24小时内拿到flag
规则是只允许攻击指定域名,不允许针对主机漏扫,不允许端口扫描,不允许子域名枚举,不允许使用商业工具进行web扫描,允许目录**,但是不需要大字典,应该是秒出。
时间24小时以内完成任务
开始渗透
因为不能漏扫、端口扫描确实有点失望(老脚本小子了),进入靶场首页第一反应是查看前端源码,发现前端使用的是bootstrap框架特别留意了JavaScript也没发现什么异常。在首页没有发现什么线索后开始点击各个链接试图找到注入或者越权漏洞。
在名为single的子页面的url中发现id参数,猜测与数据库有交互于是尝试寻找SQL注入,结果各种测试方式都跳转这样的提示
于是放弃寻找SQL注入漏洞(出题人还挺幽默的),另外在该页面中出现了留言板,于是尝试了一下是否存在xss漏洞,于是再次看到上面的提示。在没有找到有价值的漏洞后开始试图从页面的内容寻找线索,从留言内容中记住了admin的生日以备社工用
没发现其他什么有价值的信息后开始尝试从网页目录下手,首先通过查看路径的方式查看了http://****/js/发现这个报错页面
点击左上角的logo后跳转到这样的一个登录页面
去掉url上的next,开始尝试弱口令失败,查看前端源码有token和验证码,很难实现直接**,于是验证是否存在SQL注入,在经过各种验证后没有找到注入点,然后尝试用社会工程学登录
根据已有的以下信息
尝试好几种账号名和密码,如admin、[email protected]、[email protected]、Cliff、[email protected]等账号,1027,181027,191027等多种方式交替组合均失败,于是尝试改变思路。
做的这里的时候已经是第二天上课在机房做的了
因为不能子域名**而且在学校机房使用工具受限的原因,于是我先尝试看了一眼robots.txt
在robots的提示下进入了下面这个登录页面
验证确定**很难实现,然后尝试查找是否存在SQL注入点,发现前端对输入内容设置了限制,于是尝试用burp绕过前端测试SQL注入,结果如下
尝试了好几种上述社会工程学方式得到的账号密码交替均失败,于是尝试改变思路。
开始**目录
使用dirsearch(在机房下载了dirsearch工具)结果如下
得到结果后开始一个一个尝试进入,可能是因为没有权限的原因,进入后没有发现任何资源响应,于是开始抓包,分析报文尝试能不能越权访问。
由于要忙着交项目实训的作业所以不得不暂停获取flag。