BUUCTF [CSAWQual 2016] i_got_id-解题步骤详解

admin 2022年5月24日05:43:39评论12 views字数 824阅读2分44秒阅读模式

考点:

Perl后端文件上传

传入ARGV的文件,Perl会将传入的参数作为文件名读出来

启动环境:

BUUCTF [CSAWQual 2016] i_got_id-解题步骤详解

有三个链接,依次点击查看:

BUUCTF [CSAWQual 2016] i_got_id-解题步骤详解

 

BUUCTF [CSAWQual 2016] i_got_id-解题步骤详解

BUUCTF [CSAWQual 2016] i_got_id-解题步骤详解

输入框尝试了一些简单注入,并无结果,查看文件上传点,其提示是Perl文件上传

首先上传一个文件内容为test的文本文件,与输入框结果相似,上传成功后回显了文件内容:

BUUCTF [CSAWQual 2016] i_got_id-解题步骤详解

做到这就没了思路,查阅大佬Writeup,均是猜测出后端代码,参考资料:

[CSAW 2016 I Got Id – Web200]i_got_id](https://tsublogs.wordpress.com/2016/09/18/606/)

 

 

use strict;use warnings;use CGI;my $cgi= CGI->new;if ( $cgi->upload( 'file' ) ){my $file= $cgi->param( 'file' );while ( <$file> ) { print "$_"; } }

 

其中my $file= $cgi->param( 'file' );:

param()函数返回一个列表的文件。但是只有第一个文件会被放入file变量中。

while ( <$file> )中,<>不能处理字符串,除非是ARGV,因此循环遍历并将每个值使用open()

调用。

对于读文件,如果传入一个ARGV的文件,那么Perl会将传入的参数作为文件名读出来。

所以,在上传的正常文件前加上一个文件上传项ARGV,然后在URL中传入文件路径参数,就可以读取任意文件。

在上传文件时抓取数据包:

BUUCTF [CSAWQual 2016] i_got_id-解题步骤详解

复制16-17行内容,并删除filename属性,并填入ARGV,也就是如下形式:

BUUCTF [CSAWQual 2016] i_got_id-解题步骤详解

 

在请求的URL中填入所执行的命令cat+/ect/passwd(空格用+代替):

BUUCTF [CSAWQual 2016] i_got_id-解题步骤详解

成功得到回显:

BUUCTF [CSAWQual 2016] i_got_id-解题步骤详解

接下来猜测flag在/目录下,构造命令cat+/flag:

BUUCTF [CSAWQual 2016] i_got_id-解题步骤详解

发送数据包后,得到回显:

BUUCTF [CSAWQual 2016] i_got_id-解题步骤详解

 

原文来自CSDN博主「Senimo_」|侵删

BUUCTF [CSAWQual 2016] i_got_id-解题步骤详解

BUUCTF [CSAWQual 2016] i_got_id-解题步骤详解

原文始发于微信公众号(寰宇卫士):BUUCTF [CSAWQual 2016] i_got_id-解题步骤详解

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月24日05:43:39
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   BUUCTF [CSAWQual 2016] i_got_id-解题步骤详解https://cn-sec.com/archives/1047506.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息