首页
学习
活动
专区
圈层
工具
发布

【愚公系列】2023年06月 攻防世界-Web(i-got-id-200)

服务器端部分是由Perl编写的脚本,它可以从客户端接收文件并将其保存到服务器上的指定位置。使用Perl文件上传脚本可以极大地简化文件上传的过程,提高效率和用户体验。...然而,当不正确地使用 ARGV 变量时,可能会导致安全漏洞,例如任意文件读取和任意命令执行。...猜想后台应该用了param()函数。 param()函数会返回一个列表的文件但是只有第一个文件会被放入到下面的接收变量中。如果我们传入一个ARGV的文件,那么Perl会将传入的参数作为文件名读出来。...) { my $file= $cgi->param( 'file' ); while ( ) { print "$_"; } } 1、盲猜,flag在根目录下 得到...试试 发现确实使用了param()函数,然后我们利用bash来进行读取当前目录下的文件。

26300

攻防世界web进阶区i-got-id-200超详解

; use CGI; my $cgi= CGI->new; if ( $cgi->upload( 'file' ) ) { my $file= $cgi->param( 'file' );...我们盲猜一手,file.pl存在于var/www下 使用perl的那个漏洞(大佬的) 发现果然查看到了文件 和大佬们猜测的不错 HTTP/1.1 200 OK Date: Mon, 10 Aug 2020.../usr/bin/perl use strict; use warnings; use CGI; my $cgi = CGI-...直接读取flag即可 ? ? 这个地方是读取目录的../ param() param()函数会返回一个列表的文件但是只有第一个文件会被放入到下面的接收变量中。...其实直接在url给出参数就相当于命令行传参 那么,通过ARGV和url的参数就可以达到读取服务器上任意文件的目的 构造远程执行代码 这里空格需要用url编码转义,否则不符合http头部格式,不能随便加空格的

2.1K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    日志分析工具Awstats实战之Nginx篇

    前言: Awstats 是在 SourceForge 上发展很快的一个基于 Perl 的 WEB 日志分析工具,一个充分的日志分析让 Awstats 显示您下列资料: 访问次数、独特访客人数, 访问时间和上次访问...分析日志:运行后将这样的日志统计结果归档到一个awstats的数据库(纯文本)里; 然后是输出:分两种形式 1、一种是通过cgi程序读取统计结果数据库输出; 2、一种是运行后台脚本将输出导出成静态文件...附件里面有三个文件qqhostinfo.pm,qqwry.pl和QQWry.Dat,我们将这三个文件统统都放到/usr/local/awstats/wwwroot/cgi-bin/plugins中。...CONTENT_LENGTH  $content_length;               fastcgi_param GATEWAY_INTERFACE CGI/1.1;              ...分析日志:运行后将这样的日志统计结果归档到一个awstats的数据库(纯文本)里; 然后是输出:分两种形式 1、一种是通过cgi程序读取统计结果数据库输出; 2、一种是运行后台脚本将输出导出成静态文件

    1.4K20

    翻译:Perl代码审计:Perl脚本中存在的问题与存在的安全风险

    Perl也有安全“陷阱”,然而大多数Perl程序员并不了解这些陷阱。 在本文中,我们将介绍一些被广泛误用和忽视的Perl特性。...例如,如果我们使用Perl编写CGI脚本,那么恶意用户可能会向您发送虚假输入。 如果未经验证就使用,对此类应用程序的不当输入就可能会导致许多问题。...如果是则继续解释,perl将生成一个命令shell,如果perl不了解特殊的shell字符,perl会将字符串分解成单词,并调用更高效的C库调用execvp() 假设我们有一个CGI表单,它要求输入用户名...system ("cat /usr/stats/$username"); $username来自以下表单: $username = param ("username"); 用户填写表单时,例如;username...Backticks 在Perl中,读取外部程序输出的另一种方法是将命令包含在反标记中。

    4K51

    Postfix + Extmail 企业邮件服务器搭建

    它以GPL版权释出,设计初衷是希望设计一个适应当前高速发展的IT应用环境,满足用户多变的需求,能快速进行开发、改进和升级,适应能力强的webmail系统。...并设置初始密码 service mysqld restart mysqladmin -u root password 123123 开始配置PostFix 1.创建独立的目录存储网页 2.将extmail和extman...=/home/vmail postconf -e virtual_uid_maps=static:600 postconf -e virtual_gid_maps=static:600 postfix读取模板文件...能够去数据库里读数据 1)修改vim /etc/dovecot/conf.d/10-mail.conf 2)修改vim /etc/dovecot/conf.d/10-auth.conf 3)修改如何在数据库里读取数据的文件...Makefile.PL make && make install yum install -y *CGI yum install -y perl-GD yum install -y perl-GD

    3.9K30

    《Perl语言入门》——读书笔记

    PATH::Class CGI 数据库接口 DBI 处理日期和时间 DateTime Time::Piece 第十二章 文件测试 测试操作符 stat和lstat函数 localtime和gmtime...十一章 Perl模块 模块来源 随Perl发行版一同打包的,所以安装了Perl就可以用这些模块 从CPAN下载,需要自己安装 使用cpan工具 查看模块文档 % perldoc CGI :查看CGI模块文档...( 'Win32' ); # Users\fred\lib CGI use CGI qw/ :all /; # 加载分组all,模块可以有不同的分组,比如::cgi,:html5 print header...( param() ) { $list_items .= li( "$param: " . param($param) ); } print ul( $list_items ); print...PATH::Class CGI 数据库接口 DBI 处理日期和时间 DateTime Time::Piece 第十二章 文件测试 测试操作符 stat和lstat函数 localtime和gmtime

    3K20
    领券