[第一章 web入门]信息收集
常见的搜集:
使用dirsearch进行目录扫描:http://641b1a56-4c8b-4b60-a33f-7af1a2b236a2.node5.buuoj.cn:81/
存在robots.txt文件,该文件中主要用来记录哪些文件可以爬虫,哪些文件不可以爬虫,访问发现:
访问泄露的路径发现:
直接提交发现有问题:
注意看到名称为flag1,估计还存在另一半信息叫flag2?
于是我又开始在二级目录下扫描目录,可是仔细看这是个文本文件啊,咋可能文件下还有东西?
于是尝试把flag3_is_her3_fun.txt中的3替换为1/2/3 好像也不行?
试了一些方法,实在找不出,于是就看了wr,结果我的dirsearch没搜索出来的东西,别人搜索出来了,文件是:
以下三个路径返回正常robots.txt index.php~ .index.php.swp
常见的敏感文件:
1、gedit备份文件,格式为filename~,比如index.php~
2、vim备份文件,格式为.filename.swp或者*.swo或者*.swn,比如.index.php.swp(vim自身不会自动备份)
3、robots.txt
没有的话就加入到自己的字典里面去,我的dirsearch用的是ONE-FOX的工具,不知道在哪里添加字典,但是我还有一个字典,就是御剑,看来一个扫描工具有时并不可靠,于是我把这两个东西加入到了我的字典中。我还是不死心,用添加过字典的御剑再扫一遍。
扫描的过程中我去查了gedit,以前用红帽,centos,kali这些linux,没用过Ubuntu,Debian等,似乎这个格式ndex.php~的文件是这两个版本才会出现捏,关键是我的电脑没那么大啊,行,下次搞个大U盘放到里面,用的时候再插进去,以后学安全,虚拟机肯定少不了。
访问http://641b1a56-4c8b-4b60-a33f-7af1a2b236a2.node5.buuoj.cn:81/index.php.swp
发现flag3:
拼接在一起后:n1book{info_1s_v3ry_imp0rtant_hack}
但是奇怪的是我的御剑最后还是没有扫描出index.php~这个文件:
但是确实存在这个文件啊:
有时候明明存在这个文件,也存在这个字典,但是就是扫不出来,唉,那在实际渗透过程中,还是会疏忽很多文件的。难道是线程开大了?我放的10啊,我不死心,再放小点,看看可不可以,万一以后渗透的时候,因为一个文件放过了很重要的东西捏,反正扫描可以一直挂着的。我把线程调到5再试试。
真的会谢,这次啥都没了。
于是我就去请教我的导师了,他让我看了下响应码是啥,我心想肯定是200啊,这不都能看到页面,但是他都这么说了,我还是照做了,一看居然是304?!!于是搜索了一下为什么是304的原因:
客户端在请求一个文件的时候,发现自己缓存的文件有 Last Modified ,那么在请求中会包含 If Modified Since ,这个时间就是缓存文件的 Last Modified 。因此,如果请求中包含 If Modified Since,就说明已经有缓存在客户端。服务端只要判断这个时间和当前请求的文件的修改时间就可以确定是返回 304 还是 200 。
对于静态文件,例如:CSS、图片,服务器会自动完成 Last Modified 和 If Modified Since 的比较,完成缓存或者更新。但是对于动态页面,就是动态产生的页面,往往没有包含 Last Modified 信息,这样浏览器、网关等都不会做缓存,也就是在每次请求的时候都完成一个 200 的请求。
因此,对于动态页面做缓存加速,首先要在 Response 的 HTTP Header 中增加 Last Modified 定义,其次根据 Request 中的 If Modified Since 和被请求内容的更新时间来返回 200 或者 304 。虽然在返回 304 的时候已经做了一次数据库查询,但是可以避免接下来更多的数据库查询,并且没有返回页面内容而只是一个 HTTP Header,从而大大的降低带宽的消耗,对于用户的感觉也是提高。当这些缓存有效的时候,通过 Fiddler 或HttpWatch 查看一个请求会得到这样的结果:
第一次访问 200
按F5刷新(第二次访问) 304
按Ctrl+F5强制刷新 200
可是奇怪的是,我用的工具是御剑啊,为啥会有缓存,我这次试试把3xx勾上试试:
完犊子,为啥又是200了?!!
我这次只勾了一个php字典,就可以了?我是真的会谢。
怎么说呢?我感觉全部字典一起勾上误报率较大,下次还是勾一个或者两个用吧。