[XDCTF 2015]filemanager

[XDCTF 2015]filemanager

源码

https://github.com/CTFTraining/xdctf_2015_filemanager/tree/master/files

解题步骤

源码审计,upload.php


上传的地方不能注入,有个addslashes,估计有二次注入
在rename.php

看到update会将之前的语句重新插入到数据库中,可以进行二次注入。

0x01

上传一个文件名为',extension='',filename='cmd.jpg.jpg的文件。
然后在rename.php
old name输入:',extension='',filename='cmd.jpg
new name输入:cmd.jpg
由于该文件存在,所以result不为空,进入到update语句。执行

update file set filename=cmd.jpg, oldname='', extension='', filename=cmd.jpg where省略

然后数据库更新,到下面,oldname=/upload/',extension='',filename='cmd.jpg.jpg
newname=/upload/cmd.jpg.jpg
所以会将原来的',extension='',filename='cmd.jpg.jpg修改为cmd.jpg.jpg
但是,数据库中保存有文件名为cmd.jpg扩展名为空的记录,却没有cmd.jpg.jpg的记录

0x02

上传名为cmd.jpg的shell


在rename.php,newname=cmd.php,oldname=cmd.jpg
由于存在cmd.jpg,扩展名为空的记录,所以能进入update。
将cmd.jpg重新命名为cmd.php。
到下面,oldname=/upload/cmd.jpg,newname=/upload/cmd.php
所以能进行木马getshell

命令执行

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇