2021-第五空间智能安全大赛-PNG图片转换器 | 管道符与反引号的配合、open()函数绝杀


一、原理

1、base64 -d🍺
从标准输入中读取已经进行base64编码的内容,解码输出

2、管道符 |🍺
使用此管道符"|"可以将两个命令分隔开,"|"左边命令的输出就会作为"|"右边命令的输入,此命令可连续使用

3、反引号🍺

(1)、( ` )这个字符所对应的键一般位于键盘的左上角,不要将其同单引号(’)混淆
(2)、反引号括起来的字符串被shell解释为命令行,在执行时,shell首先执行该命令行,并以它的标准输出结果取代整个反引号(包括两个反引号)部分。

4、反引号还可以嵌套使用🍺
但需注意,嵌套使用时内层的反引号必须用反斜杠(\)将其转义,例如:

$ abc=`echo The num of users is \`who| nb -l\``
$ echo $abc

二、操作过程

🍺题目给了一个.rb文件,.rb文件格式是Ruby创建的程序源代码

require 'sinatra'
require 'digest'
require 'base64'

get '/' do
  open("./view/index.html", 'r').read()
end

get '/upload' do
  open("./view/upload.html", 'r').read()
end

post '/upload' do
  unless params[:file] && params[:file][
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值