ctfshow(web入门1-28)

CTF.SHOW

信息搜集

参考:https://blog.csdn.net/a597934448/article/details/105431367

web1

右键查看源码得到flag

web2

无法右键和F12查看源码,复制view-source:

web3

响应头中flag

web4

都没有找到

看提示是/robots.txt

访问得到

image-20201209143453834

直接访问获得flag

web5

源码泄露

访问index.phps获得源码

web6

源码泄露

dirsearch扫出www.zip

解压得到源码,flag不是解压出来的flag,网站访问才是

web7

源码泄露

dirseach扫出./git/

web8

./svn

web9

vim缓存信息泄露

index.php.swp

web10

cookie中gflag

web11

域名隐藏flag

通过dns检查查询flag https://zijian.aliyun.com/ TXT 记录,一般指为某个主机名或域名设置的说明。

web12

直接admin访问后台

账号应该为admin

通过题目描述知道密码应该在网站上

尝试几次为最下面的Number

web13

在网站下方找到document文档打开pdf得到

url访问,登录得到flag

警示:技术文档里面不要出现敏感信息,部署到生产环境后及时修改默认密码

web14

  • 小0day:某编辑器最新版默认配置下,如果目录不存在,则会遍历服务器根目录

通过网页源代码找到editor目录

image-20201209152037345

这里我通过编辑器的图片上传功能找到flag(其他很多接口也行)

直接访问获得

web15

访问admin,发现有忘记密码选项

密保为地址

通过网站上的QQ邮箱搜索QQ

发现在西安

重置得到密码,用admin账户登录得到flag

web16

考察PHP探针php探针是用来探测空间、服务器运行状况和PHP信息用的,探针可以实时查看服务器硬盘资源、内存占用、网卡 流量、系统负载、服务器时间等信息。 url后缀名添加/tz.php 版本是雅黑PHP探针,然后查看phpinfo搜索flag

/tz.php访问探针网站

image-20201209153647750

找到phpinfo可以进入

在环境配置中找到flag

web17

要找到http://ctfer.com/的真实ip

站长工具ip错误,ping ip错误

原来是www.ctfer.com QAQ

站长工具和ping都可以

web18

直接查看源代码

找到js文件中的胜利条件

用unicode解码得到

image-20201209154458782

访问110.php得到flag

web19

访问源代码审计

image-20201209155306119

即AES加密后为a599ac85a73384ee3219fa684296eaa62667238d608efa81837030bd1ce1bf04

将key和iv(偏移量)拿去AES解密得到password=i_want_a_36d_girl

image-20201209155252493

提交得到flag

web20

mdb文件是早期asp+access构架的数据库文件,文件泄露相当于数据库被脱裤了。

dirseach 扫到/db/db.mdb

下载文件通过txt打开搜索flag

爆破

web21

考点tomcat 认证(即网页弹出的窗口)

image-20201209230352431

image-20201209230413550

通过爆破模块的迭代器

自定义迭代器可以自定义拼接方式,position的位置即为我们的拼接方式,用户名:密码

image-20201209232322825

image-20201209232341807

image-20201209232359097

需要进行base64编码;payload processing 进行编码设置\

image-20201209232410893

取消Palyload Encoding编码 因为在进行base64加密的时候在最后可能存在 == 这样就会影响base64 加密的结果

image-20201209232429944

爆破登录得到flag

image-20201209232457521

web22

1.通过BP爆破子域名即可

*.ctfer.com

2.得到flag.ctfer.com

得到flag

web23

审计代码

image-20201209233130009

#php脚本
<?php
error_reporting(0);
function getrandstr($length){
    $str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890';
    $randStr = str_shuffle($str);//打乱字符串
    $rands= substr($randStr,0,$length);//substr(string,start,length);返回字符串的一部分
    return $rands;
}

while (True){
    $token_old = getrandstr(2);
    $token = md5($token_old);
    if (substr($token, 1, 1) === substr($token, 14, 1) && substr($token, 14, 1) === substr($token, 17, 1)) {
        if ((intval(substr($token, 1, 1)) + intval(substr($token, 14, 1)) + substr($token, 17, 1)) / substr($token, 1, 1) === intval(substr($token, 31, 1))) {
            echo $token_old,'  md5:',$token;
            break;
        }
    }
}
?
# python脚本
import itertools
import hashlib

zimu = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
for i in itertools.product('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890', repeat=3):
    blast = ''.join(i)
    md5_ins = hashlib.md5((str(blast)).encode('utf-8'))
    md5 = md5_ins.hexdigest()
    if md5[1:2] not in zimu and md5[1:2] == md5[14:15] and md5[14:15] == md5[17:18] and md5[31:32] == '3':
        print('1:',blast,':',md5)

php更快,python更稳

web24

mt_scrand(seed)
这个函数的意思,是通过分发seed种子,然后种子有了后,靠mt_rand()生成随机 数。
提示:从 PHP 4.2.0 开始,随机数生成器自动播种,因此没有必要使用该函数 因此不需要播种,并且如果设置了 seed参数 生成的随机数就是伪随机数,意思就是*在同一进程中,同一个seed,每次通过mt_rand()生成的值都是固定的

image-20201210094800057

所以先拿去本地执行,得到1155388967,直接传参得到flag

web25

image-20201210155828253

先通过r=0 得到mt_rand()第一个值为1913130930

image-20201210170435216

通过php_mt_seed进行逆推,得到种子

image-20201210172508534

这题看响应头可以知道php版本为7.3.11

所以种子应该是1642142316

<?php
mt_srand("1642142316");
echo mt_rand()."<br>";
echo mt_rand()."<br>";
echo mt_rand()."<br>";
echo mt_rand()."<br>";

echo 1156227042+122859905;
# 1913130930
# 1156227042
# 122859905
# 270595885
# 1279086947

cookie发送token得到flag

image-20201210172425574

web26

在安装数据库界面发现js代码,对传参没有要求

image-20201210173015676

构造得到flag

image-20201210173029686

web27

和上题几乎一样的js

image-20201210173634927

但是不能直接伪造请求flag

1.下载录取名单

image-20201210173741377

2.通过查询系统爆破

image-20201210173752055

3.可以发现中间正好少了出生年月日

image-20201210174331326

4.成功后看回显,知道学号以及密码为身份证号码

image-20201210174655787

image-20201210174804081

5.登录得到flag

web28

1.通过原始url知道爆破目录

image-20201210190755857

2.爆破

image-20201210190829392

image-20201210190852350

3.访问得到flag

image-20201210190721992

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值