收藏 分享(赏)

Abaqus GUI 工具包用户手册.pdf

上传人:始于喜欢终于深爱 文档编号:2183872 上传时间:2020-05-22 格式:PDF 页数:323 大小:14.63MB
下载 相关 举报
Abaqus GUI 工具包用户手册.pdf_第1页
第1页 / 共323页
亲,该文档总共323页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、3; 35 2.6.3 字符变量 36 2.7 初始化变量 38 2.8 整型、实型、字符型数据间的运算 39 2.8.1 自动转换 39 2.8.2 强制转换 40 2.9 疑难问题解析 &#面有个关键的地方,见加粗代码,这里存在安全隐患。 代码首先判断MySQL版本是否大于4.1,如果是则执行如下代码: mysql_query( “SET NAMES gbk“); 执行这个语句之后再判断,如果大于5则执行如下代码: mysql_query(“SET character_set_connection=“.$dbcharset.“, haracter_set_results=“.$dbchar

2、set.“, character_set_client=binary“, $this-linkid); 也就是说在MySQL版本小于5的情况下是不会执行这行代码的,但是执行了“set names gbk”,我们在之前介绍过“set names gbk”其实干了三件事,等同于: SET character_set_connection= gbk, haracter_set_results= gbk, character_set_client=gbk 因此在MySQL版本大于4.1小于5的情况下,基本所有跟数据库有关的操作都存在宽字节注入。 3.2.1.4 跟读首页文件 通过对系统文件大概的了解,

3、我们对这套程序的整体架构已经有了一定的了解,但是还不够,所以我们得跟读一下index.php文件,看看程序运行的时候会调用哪些文件和函数。 打开首页文件index.php可以看到如下代码: if(!file_exists(dirname(_FILE_)./data/install.lock) header (“Location:install/index.php“); define(IN_QISHI, true); $alias=“QS_index“; require_once(dirname(_FILE_)./include/common.inc.php); 首先判断安装锁文件是否存在,如果

4、不存在则跳转到install/index.php,接下来是包含/include/common.inc.php文件,跟进该文件查看: require_once(QISHI_ROOT_PATH.data/config.php); header(“Content-Type:text/html;charset=“.QISHI_CHARSET); require_once(QISHI_ROOT_PATH.include/common.fun.php); require_once(QISHI_ROOT_PATH.include/74cms_version.php); /include/common.inc

5、.php文件在开头包含了三个文件,data/config.php为数据库配置文件,include/common.fun.php文件为基础函数库文件,include/74cms_version.php为应用版本文件。接 着往下看: if (!empty($_GET) $_GET = addslashes_deep($_GET); if (!empty($_POST) $_POST = addslashes_deep($_POST); $_COOKIE = addslashes_deep($_COOKIE); $_REQUEST = addslashes_deep($_REQUEST); 这段代码

6、调用了include/common.fun.php文件里面的addslashes_deep()函数对GET/POST/COOKIE参数进行了过滤,再往下走可以看到又有一个包含文件的操作: require_once(QISHI_ROOT_PATH.include/tpl.inc.php); 包含了include/tpl.inc.php文件,跟进看看这个文件做了什么: include_once(QISHI_ROOT_PATH.include/template_lite/class.template.php); $smarty = new Template_Lite; $smarty - cache

7、_dir = QISHI_ROOT_PATH.temp/caches/.$_CFGtemplate_dir; $smarty - compile_dir = QISHI_ROOT_PATH.temp/templates_c/.$_CFG template_dir; $smarty - template_dir = QISHI_ROOT_PATH.templates/.$_CFGtemplate_dir; $smarty - reserved_template_varname = “smarty“; $smarty - left_delimiter = “#“; $smarty - right_

8、delimiter = “#“; $smarty - force_compile = false; $smarty - assign(_PLUG, $_PLUG); $smarty - assign(QISHI, $_CFG); $smarty - assign(page_select,$page_select); 首先看到包含了include/template_lite/class.template.php文件,这是一个映射程序模板的类,由Paul Lockaby paul和Mark Dickenson编写,由于该文件较大,我们这里不再仔细分析,继续往下跟 进,可以看到这段代码实例化了这个类

9、对象赋值给$smarty变量,继续跟进则回转到index.php文件代码: if(!$smarty-is_cached($mypagetpl,$cached_id) require_once(QISHI_ROOT_PATH.include/mysql.class.php); $db = new mysql($dbhost,$dbuser,$dbpass,$dbname); unset($dbhost,$dbuser,$dbpass,$dbname); $smarty-display($mypagetpl,$cached_id); else $smarty-display($mypagetpl,

10、$cached_id); 判断是否已经缓存,然后调用display()函数输出页面,审计到这里是否对整个程序的框架比较熟悉了?接下来像审计index.php文件一样跟进其他功能入口文件即可完成代码通读。 3.3 根据功能点定向审计 在有了一定的代码审计经验之后,一定会知道哪些功能点通常会有哪些漏洞,在我们想要快速挖掘漏洞的时候就可以这样来做,首先安装好并且运行程序,到处点点,浏览一下,看下程序有哪些功 能,这些功能的程序文件分别是怎么样的,是独立的模块还是以插件形式存在,或者是写在一个通用类里面,然后多处调用。在了解这些功能的存在形式后,可以先寻找经常会出问题的功能点,简单黑盒 测试一下,如果

11、没有发现很普通、很常见的漏洞,再去读这个功能的代码,这样我们读起来就可以略过一些刚才黑盒测试过的点,提高审计速度。 根据经验,我们来简单介绍几个功能点经常会出现的漏洞,如下所示: 1)文件上传功能。这里说的文件上传在很多功能点都会出现,比如像文章编辑、资料编辑、头像上传、附件上传,这个功能最常见的漏洞就是任意文件上传了,后端程序没有严格地限制上传文件的格 式,导致可以直接上传或者存在绕过的情况,而除了文件上传功能外,还经常发生SQL注入漏洞。因为一般程序员都不会注意到对文件名进行过滤,但是又需要把文件名保存到数据库中,所以就会存在 SQL注入漏洞。 2)文件管理功能。在文件管理功能中,如果程序将文件名或者文件路径直接在参数中传递,#183; 51 真题 12 某知名软件测评中心测试工程师笔试题 52 一、不定项选择题 52 二、编程题 56 真题 13 某外企软件工程师笔试题 56 一、不定项选择题 56 二、填空题 58 三、加分题 59 真题 14 国内某知名网络设备提供商软件工程师笔试题 59 一、单选题 59 目录 VII 二、多选题 62 三、判断题 ·

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 技术资料 > 技术方案

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报