实验代码:
链接:https://pan.baidu.com/s/14XsCng6laiSiT_anuwr5dw?pwd=78dy
提取码:78dy
环境
Windows上安装tomcat、Apache和MySQL
Linux上安装tomcat、Apache和MySQL
操作
1、把tomcat中的sec拷贝到tomcat目录下,比如%TOMCAT-HOME%webapps
2、把Apache中的sec拷贝到Apache目录下,比如htdocs
3、tomcat中的sec目录下
include.jsp
代码语言:javascript复制<%
String
Windows_IP="127.0.0.1";
String
Linux_IP="192.168.0.150";
String
JSP_PORT="8080";
String
PHP_PORT="8100";
%>
String Windows_IP:Windows的IP地址
String Linux_IP:Linux的IP地址
String JSP_PORT:JSP的端口号
String PHP_PORT:PHP的端口号
3、Apache中的sec目录下include.php
代码语言:javascript复制<?php
$windows_ip="http://127.0.0.1";
$linux_ip="http://192.168.0.150";
$jsp_port="8080";$php_port="8100";
?>
$windows_ip:Windows的IP地址
$linux_ip=:Linux的IP地址
$jsp_port=:JSP的端口号
$php_port:PHP的端口号
打开浏览,输入http://192.168.0.106:8080/sec/
为本机IP地址
数据库配置
在建立MySQL下建立sec数据库,root/123456。将DB下的4个csv文件导入sec数据库中
渗透测试操作系统虚拟机文件vmx文件
1)Windows 2000 Professional
链接:https://pan.baidu.com/s/13OSz_7H1mIpMKJMq92nEqg?pwd=upsm
提取码:upsm
2)Windows Server 2003 Standard x64 Edition
链接:https://pan.baidu.com/s/1Ro-BoTmp-1kq0W_lB9Oiww?pwd=ngsb
提取码:ngsb
3)Windows 7 x64
链接:https://pan.baidu.com/s/1-vLtP58-GXmkau0OLNoGcg?pwd=zp3o
提取码:zp3o
4)Debian 6(Kali Linux)
链接:https://pan.baidu.com/s/1Uw6SXS8z_IxdkNpLr9y0zQ?pwd=s2i5
提取码:s2i5
安装了Apatche、Tomcat、MySQL、 vsftpd并且配套Web安全测试练习教案,
启动Tomcat
#/usr/local/apache-tomcat-8.5.81/bin//startup.sh
启动MySQL
#service mysql start
启动Apache
#/etc/init.d/apache2 start
打开浏览器输入127.0.0.1:8080/sec/
5)Metasploitable2-Linux (with vsftpd 2.3.4)
链接:https://pan.baidu.com/s/1a71zOXGi_9aLrXyEnvkHwQ?pwd=17g6
提取码:17g6
解压后直接为vmx文件,直接可用
静态代码分析理论基础和主要技术
静态代码分析原理分为两种:分析源代码编译后的中间文件(如Java的字节码);分析源文件。主要分析技术如下:
缺陷模式匹配
事先从代码分析经验中收集足够多的共性缺陷模式,将待分析代码与已有的共性缺陷模式进行匹配,从而完成软件安全分析。优点:简单方便;缺点:需要内置足够多的缺陷模式,容易产生误报。
类型推断/类型推断
类型推断技术是指通过对代码中运算对象类型进行推理,从而保证代码中每条语句都针对正确的类型执行。
模型检查
建立于有限状态自动机的概念基础上。将每条语句产生的影响抽象为有限状态自动机的一个状态,再通过分析有限状态机达到分析代码目的。
校验程序并发等时序特性。
数据流分析
从程序代码中收集程序语义信息,抽象成控制流图,可以通过控制流图,不必真实的运行程序,可以分析发现程序运行时的行为。
动态检测技术
原理
动态检测技术是一种不同于静态检测技术的动态的检测技术,它通过调试器运行被检测的软件的某项功能,检查运行结果与预期结果的差距,来确定被测软件此功能是否存在安全缺陷。
构成
这是一种针对软件功能的检测技术,它主要由构造测试用例,调试软件程序,分析软件程序三个部分构成。
缺陷注入(Defect injection)具有自动化程度高的显著优点,但是其测试具有盲目性,测试用例量大,时间效率低;内存映射(Memory mapping)通过对内存映象进行管理来发现与内存相关的漏洞,该检测技术需要修改操作系统内核策略,在Windows平台下实用意义不大;安全共享库(Safety shared libraries)是针对与系统调用相关的漏洞,检测准确率高,但是类型单一,对其他类型漏洞扩展性不佳;堆栈控制(Stack Control)是针对缓冲区溢出型漏洞的检测技术,对大部分漏洞具有很好的效果,但是对早期的程序兼容性不佳,且有较高的系统开销;沙箱(Sandbox)和程序释义(Interpretation Procedure)分别是过滤型和伴随型的安全策略检测技术,控制严格,检测准确率较好,但是制订安全策略复杂,缺少实用度高的算法。