一个安全有关的问题

sh0cker 2002-07-07 03:23:30
system "tar -zcf $tarFileName.tar.gz $dumpFileName";

程序中有这么一句话,如果我把$dumpfilename这个变量提交为“ |echo abc >aaa.pl“的话,会不会生成一个aaa.pl的文件?
...全文
19 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sh0cker 2002-07-10
  • 打赏
  • 举报
回复
我是这么想,结果试了好多种样子,都不行。。。
mriss 2002-07-10
  • 打赏
  • 举报
回复
如果是有过滤的话,一般都会对敏感字符进行过滤
那可能这样就不行了,仔细研究一下源程序,看看有什么地方可以利用的漏洞
兴许就可以构造一个巧妙的字符串来提交并越权执行
sh0cker 2002-07-10
  • 打赏
  • 举报
回复
可是我试验不行,也许程序在有的地方有过滤,把>给过滤了
zengpan_panpan 2002-07-08
  • 打赏
  • 举报
回复
所以最好
open(X, "| tar -zcf $tarFileName.tar.gz");
然后把$dumpFileName的内容读出来,往X里面写。当然还要注意tarFileName.tar.gz合不合法。
mriss 2002-07-08
  • 打赏
  • 举报
回复
应该可以生成
11138 2002-07-08
  • 打赏
  • 举报
回复
system()函数能够暂停Perl程序的运行,然后运行外部命令(系统命令),接着再运行你的Perl程序。
这样看来,一般在系统上能运行的命令,它都有着一样的运行结果,Try!

2,204

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 CGI
社区管理员
  • CGI社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧