- 2
- 0
- 约5.23千字
- 约 3页
- 2017-09-12 发布于重庆
- 举报
2009 年第3 期
前置知识:无
关键词:脚本、LxBlog、防注入
浅析LxBlog V6 变量未初始化漏洞
文/ 图 Flyh4tXi40shui
LxBlog 是PHPWind 开发的一套基于PHP+MySQL 数据库平台架构的多用户博客系统,强
调整站与用户个体间的交互,拥有强大的个人主页系统、独立的二级域名体系、灵活的用户
模板系统、丰富的朋友圈和相册功能。但该 Blog 系统在安全性上并不让人满意,本文就来
分析其一个变量未初始化造成的SQL 注入漏洞。
我们先来分析一下这个漏洞,存在问题的代码如下:
/user/tag.php
?php
!function_exists(usermsg) exit(Forbidden);
!in_array($type,$item_type) exit; 线
//$type、$item_type 均没有初始化
require_once(R_P.mod/charset_mod.php);
foreach ($_POST as $key = $value) { 处
防
${utf8_.$key} = $value;
${$key} = $db_charset != utf-8 ? convert_charset(utf-8,$db_charset,$value) : $value;
} 客 出
if ($job == add) {
……//省略部分代码 明
黑
}elseif($job==modify){
$tagnum={$type}num; 注
$touchtagdb=$db-get_one(SELECT k.tags,i.uid FROM pw_{$type} k LEFT JOIN pw_items i ON
i.itemid=k.itemid WHERE k.itemid=$itemid);
//$type 带入查询语句操作数据库 请
$touchtagdb[uid]!=$admin_uid exit;
……//省略部分代码 载
当然,在文件的第一行有“!function_exists(usermsg) exit(Forbidden);”这样一段代
码的限制,我们不能直接访问该文件,但可以通过user_index.php 来include 这个文件执行,
转
具体代码如下:
//user_index.php
?php
……//省略部分代码
require_once(R_P.user/global.php);
require_once(R_P.user/top.php);
if (!$action) {
……//省略部分代码
2009 年第3 期
} elseif ($action file_exists(R_P.user/$action.php)) {
$basename = $user_file?action=$action;
require_once(Pcv(R_P.user/$action.php));
//通过提交$action=tag 即可以调用到存在漏洞的文件
}
看到这个地方,应该已经可以触发该漏洞了,但依然要考虑到是否会受到register_global
的影响,幸好user_index.php 在开始的时候包含了user/global.php 这个文件。再看看这个文
件为我们提供了什么,代码如下:
//user/global.php
?
……//省略部分代码
if (!in_array($action,array(blogdata,comment,itemcp,post,userinfo))) {
//blogdata,comment,
您可能关注的文档
最近下载
- 《基于西门子s7-1200PLC的变频调速电梯电气控制系统设计》14000字.docx VIP
- 《智能光电系统设计》课件——光学系统设计实例.pptx VIP
- 沪教版初中英语单词表(七年级至九年级全6册).docx VIP
- 吉林省肉牛产业发展的多维剖析与破局之道.docx VIP
- NCCN临床实践指南:软组织肉瘤(2026.v1)PPT课件.pptx VIP
- DB21_T 2973-2018小型水利工程混凝土施工质量管理规程.pdf VIP
- 数字金融对制造业企业绿色技术创新的影响研究.pptx VIP
- 2019-2020中国传媒大学电影学考研真题、考研参考书、复试线、招生人数.pdf VIP
- 大型水库清淤施工组织设计.docx VIP
- 金坑水库清淤工程勘察设计招标公告.DOC VIP
原创力文档

文档评论(0)