信息收集
1-2:查看源代码
3:bp抓包
4:robots.txt(这个文件里会写有网站管理者不想让爬虫的页面或其他)
5:网站源代码泄露index.phps
6:同样也是源码泄露,(拿到以后还得访问放flag的url)###可跑脚本找是哪个源代码泄露
7:.git泄露
git其中有一个目录.git,是个类似于备份目录,我们使用git的所有被追踪的操作和被操作的文件都会被记录
如果没有配置好导致.git被上线,导致可以访问.git获取源代码,那就可以白盒审计,如果获得敏感信息则直接可以获取服务器权限。
8:.svn泄露
svn是源代码管理工具,使用svn管理本地源代码时会生成一个.svn文件,如果管理员直接复制粘贴源代码没有导出,则会造成.svn泄露
9:.swp泄露
原理:在linux生产环境上使用vim或者vi或产生一个以.swp为后缀的文件,例如修改index.php文件就会生成一个index.php.swp文件(同样也属于源码泄露)####可用脚本跑
10:cookie
11:需要用nslookup命令-query=any (host)来查询域名的指定解析类型的解析记录
12:找到登录页面,网站存在敏感信息可直接获取管理员密码
13:网页最下有可下载文件里面有敏感信息以及后台网站地址
14:网站默认配置的问题,目录扫描加信息收集
15:找到登录页面看到能忘记密码重新修改但是需要管理员设置的地址,通过管理员遗留的各种信息找到比如qq邮箱,通过qq查询qq邮箱找到是哪里的
16:考察php探针,最后在phpinfo中找到flag
php探针是用php语言编写的一个程序,可以用来查看服务器的状态,比如服务器操作系统信息,服务器CPU、内存和硬盘的使用状况,php版本和组件信息,数据库版本信息,实时网速等。可以非常方便地了解服务器的运行状态
三款常用的探针:
雅黑php探针:url/tz.php
x prober:url/x.php
upupw php:url/u.php
可将这些写入目录扫描使用的字典里,可以跟方便的扫东西
17:dirsearch扫目录能扫到备份文件
18:考察简单js,可用开发者模式控制台直接执行js语句或者引导他的条件让他通过判断给出flag
19:查看源代码有PHP语句,可直接获取账户密码
20:还是备份文件下载,下载后用二进制软件解码即可
爆破
21:直接bp抓包跑字典,需base64加密
22:可用工具跑也可用浏览器找还可以用网上做好的域名查找去找
23:此题需跑脚本已经附上自写脚本
最后跑出来六个答案一个一个尝试得到答案为3j
import hashlib
m = "0123456789qwertyuiopasdfghjklzxcvbnm"
# 这串英文就是24个英文字母
for i in m:
for a in m:
md5 = hashlib.md5()
# 构造一个hashlib对象
str_1 = str(i) + str(a)
# 构造payload
md5.update(str_1.encode('utf-8'))
# 指定位utf-8加密方式
b = md5.hexdigest()
# MD5加密
if b[1:2] == b[14:15] and b[14:15] == b[17:18]:
print(str_1)
# 输出答案
24:所以直接把它设置的复制一下拿到php在线运行网站跑一下就能得到
这一题很像是版本漏洞,通过看提示从php4.2.0开始就不用mt_scrand(seed)来播种,会自动播种,如果设置了mt_scrand(seed)并且seed有值,那就会生成伪随机数(俗称假的随机数),生成的数字就会固定。
25:这一题和上一题不一样,需要用工具跑(工具:php_mt_seed)
这里没有像24题一样的漏洞,使用了mt_scrand()播种就会生成特定的随机值,这里我们需要传入同样的随机值让rand的变量为零才能进入if
这里 还需要我们传入cookie里的token值需要弱等于两个随机值相加(每一次使用,mt_rand()生成的都会不一样,本来我还想直接bp抓包爆破来着,但是显然不可行)
####这里使用工具怎么跑出来的不清楚原理,有些许复杂