信息收集
1.直接查看源代码
开发注释未删除
2.js前台拦截 === 无效操作,需要绕过
- 通过在url头部添加 view-source:,更换协议
- 更多工具,开发者工具,查看元素
- 直接ctrl+u就能看到源码
- 更多工具,开发者工具,查看网络response
- ctrl+shift+i
3.burpsuite或network抓包
- 开发者工具,network抓包,查看hearders
- bp发包后查看返回包的内容
4.robots漏洞
-
直接访问url/robots.txt
-
robots协议,又称为爬虫协议,网站可建立一个robots.txt文件来告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。
-
robots协议并不是一个规范,而只是约定俗成的,所以并不能保证网站的隐私。
5.phps文件泄露
phps存放着php源码,可通过尝试访问/index.phps读取,或者扫描工具扫描
phps和http服务器解析后缀有关,phps文件就是php源代码文件
6.代码泄露(网站备份压缩文件漏洞)
- 成因:网站修改时,存有备份文件,访问备份文件不需要权限,可以直接被下载,并且可以被任意使用修改
- 可能的后缀名:.rar .zip .7z .tar.gz .bak .swp .txt,例如www.zip
- 常见源码包名字,www.zip
- 需要注意,源码包有某个文件,只能说明服务器有这个文件,真正的文件具体内容,还要返回到网站去访问该目录
7&8.git代码泄露&svn泄露
- 提示:涉及版本控制
- 版本控制:管理多人协同开发项目,管理开发过程中对代码或者文件的修改记录,备份以备恢复
- 常用的版本控制工具git,svn,访问.git和.svn
- Git:分布式版本控制系统
- git代码泄露 url/.git/
- SVN:集中式版本控制系统
- 信息svn泄露 url/.svn/
- 成因:.开头的文件夹在linux下,属于隐藏文件夹,终端看不到这个隐藏文件夹,有可能错误的部署到网站根目录,造成开发信息泄露或者版本的源码泄露
9.vim缓存泄露源码
-
vim:文本编辑器,可用来写代码
-
利用vim编辑的时候,会创建临时文件,如果程序正常退出,则临时的缓存文件会自动删除,意外退出则会保留
-
以 index.php 为例,第一次产生的缓存文件 .index.php.swp
-
第二次.index.php.swo
-
第三次.index.php.swn
-
注意:index前有 " . "
10.cookie泄露信息
F12,右键刷新,application看到cookie
直接抓包,看到cookie内容
HackBar,解码,ENCODING,urldecode
11.域名TXT记录
域名解析查询的两个网址
http://dbcha.com/?t=1673008254
https://zijian.aliyun.com/
12.注意网页本身小细节
- 管理员地址/admin/
- web12,先按照信息收集的考点,搜集有用信息,robots.txt文件,结合网页,看到了一串数字,类似电话号码,就是管理员密码
- 现实渗透一些密码往往是常见的电话数字什么的
13.技术文档泄露后台地址和密码
-
注意观察网站的细节,得到一个系统开发手册或者技术文档
-
your-domain 指的是我的网域
因为在开发一个网站的时候,你也不清楚具体使用这个网站的域名是什么,所以后台默认地址出现your-domain的时候,直接把前面换成自己的url
-
比如web13,提供的后台默认网址http://your-domain/system1103/login.php,需要将system之前的,换成靶场网址
14.编辑器目录遍历漏洞
- 编辑器editor,每个编辑器会带有后台和数据库,存在上传漏洞,逻辑漏洞,横向越权等
- HTML5支持的内容越来越丰富,编辑器使用逐渐减少
- 编辑器的文件上传,文件空间有默认配置,如果浏览或访问服务器不存在的目录,会出现根目录所有内容
- 此处要注意找到有用文件的时候,目录的绝对路径
15.公开的信息造成信息泄露
- 需要注意公开的QQ邮箱,电话号码,QQ等信息,发现别的隐私信息
- 利用曲线救国的思想,多联想
16.php探针
php探针是用来探测空间、服务器运行状况和PHP信息用的,探针可以实时查看服务器硬盘资源、内存占用、网卡流量、系统负载、服务器时间等信息。
常用PHP探针:雅黑php探针,可以通过tz.php访问
然后在访问探针页面以后,可以查看搜集对自己有用的信息
phpinfo是php自带函数,可以显示php服务器环境的配置信息
注意phpinfo的环境变量,其中web16就是存在环境变量FLAG,拿到flag
17.SQL备份文件泄露
sql备份文件一般为backup.sql
17.CDN绕过查找真实ip
-
ping一下查看IP地址,出现多个IP即启用CDN服务
-
CDN 的全称是 Content Delivery Network,即内容分发网络,CDN 是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
-
传统访问:用户访问域名–>解析服务器IP–>访问目标主机
普通CDN:用户访问域名–>CDN节点–>真实服务器IP–>访问目标主机
带WAF(web应用防护系统或web应用防火墙)的CDN:用户访问域名–>CDN节点(WAF)–>真实服务器IP–>访问目标主机
-
可以www.ctfshow.com进行ping一下,也可以试一下ctfshow.com获取真实ip,也可以在百度找一些可以查询的网站
18.Unicode编码解码&alert函数
- Unicode编码,比如web18中js文件中出现的\u4f60\u8d62\u4e86\uff0c\u53bb\u5e7a\u5e7a\u96f6\u70b9\u76ae\u7231\u5403\u76ae\u770b\u770b →你赢了,去幺幺零点皮爱吃皮看看
- Unicode解码平台http://www.bt.cn/tools/unicode.html
- Unicode是一种字符编码方案,它为每种语言中的每个字符都设定了统一唯一的二进制编码,以实现跨语言、跨平台进行文本转换、处理的要求。
- 因为web18的Unicode编码是在js文件中,也可以不用解码,直接控制台(console)利用alert函数
- Alert的功能是弹出对话框并显示其中的内容
19.前端源代码泄露密钥(AES加密)
-
post传参:绕过前端js,直接提交哈希 HackBar,postdata,刷新,此时注意变量名称
-
AES解密(密文推明文):解密成功后,直接前端用户登入
-
AES是高级加密标准,在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。AES有着密钥,填充,向量三部分来解密加密
-
AES加密解密在线工具
https://tool.lmeee.com/jiami/aes
https://the-x.cn/cryptography/Aes.aspx
<script type="text/javascript">
function checkForm(){
var key = "0000000372619038"; // 密钥
var iv = "ilove36dverymuch"; // 向量
var pazzword = $("#pazzword").val();
pazzword = encrypt(pazzword,key,iv);
$("#pazzword").val(pazzword);
$("#loginForm").submit();
}
function encrypt(data,key,iv) { //key,iv:16位的字符串
var key1 = CryptoJS.enc.Latin1.parse(key);
var iv1 = CryptoJS.enc.Latin1.parse(iv);
return CryptoJS.AES.encrypt(data, key1,{
iv : iv1,
mode : CryptoJS.mode.CBC, // 模式
padding : CryptoJS.pad.ZeroPadding // 填充
}).toString();
}
</script>
20.mdb文件泄露
-
mdb文件是早期asp+access构架的数据库文件,mdb格式的数据库是一种关系数据库。
-
直接查看url路径添加/db/db.mdb
-
数据库专门的查看工具,这里可以不下载老版本工具,直接用微软的Access查看需要的地址或者信息,依次查看各个表