打开链接,有三个链接地址
攻防世界web进阶区i-got-id-200
挨个看一哈
攻防世界web进阶区i-got-id-200
攻防世界web进阶区i-got-id-200
攻防世界web进阶区i-got-id-200
发现在url栏都是以.pl结尾,百度一下是perl编写的(很好,不懂)

看一下源码,也没要求上传什么文件

但是会把文件内容打印出来
攻防世界web进阶区i-got-id-200

这里看大佬讲的是param()函数

param()函数会返回一个列表的文件但是只有第一个文件会被放入到下面的接收变量中。如果我们传入一个ARGV的文件,那么Perl会将传入的参数作为文件名读出来。对正常的上传文件进行修改,可以达到读取任意文件的目的

bp抓包
攻防世界web进阶区i-got-id-200
将上传文件的代码复制,粘贴,删除filename=“”,加上ARVG
根据ctf出题(老阴)的习惯,盲猜,flag,fl4g,f1ag等等(也可以先读取file.pl文件,盲猜在/var/www/cgi-bin/file.pl,然后bash读取目录下的文件/cgi-bin/file.pl?/bin/bash%20-c%20ls${IFS}/| ),具体看页尾大佬链接

攻防世界web进阶区i-got-id-200
改掉这几个地方,得到flag

知识点:perl文件上传配合ARVG可造成任意文件读取,bash命令

参考文章:https://www.cnblogs.com/-chenxs/p/11953933.html

2020.8.6 公瑾

相关文章:

  • 2021-09-17
  • 2021-09-14
  • 2021-07-13
  • 2021-05-02
  • 2021-07-17
  • 2021-07-30
  • 2021-05-15
  • 2021-06-22
猜你喜欢
  • 2022-12-23
  • 2021-04-19
  • 2021-09-12
  • 2021-09-04
  • 2021-09-28
  • 2021-11-03
  • 2022-01-09
相关资源
相似解决方案