WEB安全测试所需的基础知识提纲(转)

 ——说明:下文是从其他地方看到的关于WEB安全测试所需的基础知识纲要,大家可以结合本版面的其他WEB安全测试帖子一起学习

  第一章:B/S架构体系安全渗透测试基础

  1、HTTP协议基本概念

  (1)介绍HTTP标示URL

  (2)HTTP响应状态码

  (3)HTTP协议传输内容

  2、WEB应用认证基本概念

  (1)HTTP常见认证机制

  (2)BASE64编码介绍

  3、B/S架构常见安全问题

  (1)拒绝服务攻击基础

  (2)Smurf攻击模型

  (3)Fraggle攻击模型

  (4)SynFlooding攻击模型

  (5)碎片攻击

  4、嗅探理论基础

  (1)网络嗅探原理

  (2)密码嗅探介绍

  (3)协议分析基础介绍

  第二章:B/S架构体系安全渗透测试攻击基础

  1、B/S架构结构端口扫描分析

  (1)SuperScan工具

  (2)Nmap端口扫描工具

  2、输入验证攻击基础知识

  (1)输入验证攻击基本概念

  (2)Unicode漏洞介绍

  (3)输入验证二次解码漏洞介绍

  版权声明:本文为51Testing论坛会员ruanyongjie原创。http://bbs.51testing.com

  3、ASP脚本注入基础知识

  (1)ASP脚本注入基本概念

  (2)ASP脚本注入检测

  (3)ASP脚本注入信息获取

  (4)AASP脚本注入提权

  4、PHP脚本注入基础知识

  (1)PHP脚本注入基本概念

  (2)PHP脚本注入检测

  (3)PHP脚本注入信息获取

  (4)PHP脚本注入提权

  5、跨站脚本原理及防御

  (1)跨站脚本基本概念

  (2)跨站脚本实例

  (3)跨站脚本解决方法

  6、Web权限提升分析

  (1)Web权限提升基本概念

  (2)WeBShell上传方法

  (3)Web权限提升7大方法:密码破解、本地提权、Gina木马…

  7、APR嗅探基础

  (1)APR协议概念

  (2)APR欺骗攻击

  (3) 交换域网络嗅探

  第三章:B/S架构体系安全渗透测试攻击与测试工具

  1、攻击工具介绍

  (1)注入攻击工具原理

  (2)注入攻击工具分析

  (3)攻击测试平台搭建

  2、注入攻击工具使用练习(ASP+SQL Server注入攻击实战)

  (1)注入攻击工具使用

  (2)域名检查攻击工具使用及域名信息查询用

  3、拒绝服务攻击工具使用练习

  (1)SynFlooding攻击工具测试

  (2)UDPflood攻击工具测试

  (3)畸形DDOS攻击工具

  4、嗅探攻击工具使用练习

  (1)ARP欺骗攻击工具 密码嗅探练习

  (2)嗅探协议分析练习

  5、B/S安全评估工具使用练习

  (1)Web脚本评估工具安装

  (2)B/S架构扫描

  (3)评估报告分析撰写模版

1. 数据验证流程:一个好的web系统应该在IE端,server端,DB端都应该进行验证。但有不少程序偷工减料,script验证完了,就不管了;app server对数据长度和类型的验证与db server的不一样,这些都会引发问题。有兴趣的可参看一下script代码,设计一些case,这可是你作为一个高级测试人员的优秀之处哦。我曾修改了页面端的script代码,然后提交了一个form,引发了一个系统的重大漏洞后门

  2. 数据验证类型: 如果web server端提交sql语句时,不对提交的sql语句验证,那么一个黑客就可暗喜了。他可将提交的sql语句分割,后面加一个delete all或drop database的之类语句,能将你的数据库内容删个精光!我这一招还没实验在internet网站上,不知这样的网站有没有,有多少个。反正我负责的那个web系统曾经发现这样的问题。

  3. 网络加密,数据库加密不用说了吧。

  WEB软件最常碰到的BUG为:

  1、SQL INJETION

  2、对文件操作相关的模块的漏洞

  3、COOKIES的欺骗

  4、本地提交的漏洞

  SQL INJETION的测试方法

  原理:

  如有一新闻管理系统用文件news.asp再用参数读取数据库里的新闻譬如

  http://www.xxx.com/news.asp?id=1这一类网站程序

  如果直接用

  rs.open "select * from news where id=" &

  cstr(request("id")),conn,1,1

  数据库进行查询的话即上面的URL所读取的文章是这样读取的

  select * from news where id=1

  懂得SQL语言的就知道这条语言的意思是在news读取id为1的文章内容。

  但是在SQL SERVER里select是支持子查询和多句执行的。如果这样提交URL的话

  http://www.xxx.com/news.asp?id=1and 1=(select count(*) from admin

  where left(name,1)=a)

  SQL语句就变成了

  select * news where id=1 and 1=(select count(*)

  from admin where left(name,1)=a)

  意思是admin表里如果存在字段字为name里左边第一个字符是a的就查询news表里id为1的内容,news表里id为1是有内容的,从逻辑上的角度来说就是1&P。只要P为真,表达式就为真,页面会返回一个正确的页面。如果为假页面就会报错或者会提示该id的文章不存在。黑客利用这点就可以慢慢得试用后台管理员的用户和密码。

测试:

  测试存不存在SQL INJETION很简单如果参数为整数型的就在URL上分别提交http://www.xxx.com/news.asp?id=1and 1=1 和http://www.xxx.com/news.asp?id=1and 1=2

  如果第一次返回正确内容,第二次返回不同页面或者不同容内的话表明news.asp文件存在SQL INJETION。如何利用就不多说了,毕竟我们都不是为了入侵。

  ● 对文件操作相关的模块的漏洞在测试

  原理:

  如一上传文件功能的程序upload.asp如果程序员只注重其功能上的需求没有考虑到用户不按常规操作的问题。如上传一个网页木马程序上去,整个网站甚至整个服务器的架构和源码都暴露而且还有一定的权限。

  测试:

  试上传asp,php,jsp,cgi等网页的文件看是否成功。

  补充:

  还有像 http://www.xxx.com/download/filespath.asp?path=../abc.zip

  下载功能的软件如果

  http://www.xxx.com/download/filespath.asp?path=../conn.asp

  很可能下载到这些asp的源码数据库位置及用户密码都可能暴露。

  其它还有很多,就不一一举例了。

  ● COOKIES的欺骗

  原理:

  COOKIES是WEB程序的重要部分,COOKIES有利有弊。利在于不太占用服务器的资源,弊在于放在客户端非常容易被人修改加以利用。所以一般论坛前台登陆用COOKIES后台是用SESSION,因为前台登陆比较频繁,用SESSION效率很低。但如论坛程序管理员用户在前台也有一定的权限,如果对COOKIES验证不严的话,严重影响了WEB程序的正常工作。如前期的LEADBBS,只有后台对COOKIES验证严格,前台的位置只是从COOKIES读取用户的ID,对用户是否合法根本没有验证。

  测试:

  推荐使用MYBROWER浏览器,可即时显示及修改COOKIES。尝试一下修改里面的对应位置。

  ● 本地提交表单的漏洞

  原理:

  Action只接爱表单的提交,所以表单是客户WEB程序的接口。先举一个例子,一个投票系统,分A,B,C,D各项的VALUE是100,80,60,40。

  但是如果先把些页面以HTML形式保存在本地硬盘里。然后修改其VALUE,再向其ACTION提交,ACTION会不会接受呢?

  测试:

  如一投票系统,把投票的页面保存在本地硬盘,用记事本打开,找到对应项的VALUE值,对其修改,然后提交。

  强制后台浏览:绕过登陆页面,直接提交系统文件夹或文件页面。不完善的系统如果缺少index.html就可能被绕过登陆验证页面。在系统文件夹中保留一些公司机密内容也会造成不可估计的损失。

  跨站脚本攻击:基本上这个我只是在论坛——各种形式的论坛里看到过,具体的一个例子,比如这段代码可以被填在任何输入框里 “<script>alert("attacking!");</script>”,如果未对一些字符,如 “<”、">"进行转换,就会自动执行这个脚本。百度快照所提供的网页都自动将代码执行了。不信大家搜一点JS的代码,看看你能不能看到。

  堆栈溢出攻击:完全的不了解,只是在某个网站上看到,可以对现在的2000、XP、2003进行攻击,非常恐怖,MS应该打了补丁了吧?

时间: 2024-10-23 14:46:09

WEB安全测试所需的基础知识提纲(转)的相关文章

Java Web学习日志(HTTP基础知识)

1.C/S和B/S C/S是客户端/服务器模式,它是软件系统体系结构,通过它可充分利用两端硬件的优势,将任务合理分配到两端实现,降低开销 B/S是浏览器/服务器模式,在这种模式下,WEB浏览器使用户最主要的应用软件,这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上. 2.HTTP基础知识 HTTP是超文本传输协议的简称,他是Web应用的核心.HTTP协议由两部分程序实现:一个客户端程序和一个服务器程序,它们运行在不同的端系统,通过交换HTTP报文进行会话. 1.2.1.HTTP请求和

Web学习篇之---html基础知识(一)

html基础知识(一) 本篇文章主要介绍HTML头部所包括的信息. 一.下面都是在标签<head>...</head>之间的内容: 1.<title>-</title> 标题元素,帮助用户更好识别文件,有且仅仅有一个.当作为首页或收藏时做文件名称. 2.<link>-</link> 显示本文档和其他文档之间的关系:<link rel="stylesheet" href="example.css&qu

网络协议基础知识提纲

看了下阮一峰的<互联网协议入门>文章,觉得写得还不错,看完后,写了下读书提纲. 链路层 通过有线/无线方式传输0/1信号. 链路层 以太网协议:将一个组信号构成一个数据包称为“帧”,包括标头(Head)和数据(Data):标头包括发送/接收方的MAC地址,数据类型:数据部分最长1500字节,超过后分割发送:发送方通过ARP协议获取接收方的MAC地址:发送方以广播的方式向子网络内接收发发送数据. 获取对方MAC方式:双方位于不同子网络,无法获取,通过子网络网关处理:位于同一子网络(ARP协议),

Web的架构与html5基础知识

图1:完整的Web应用构架 图2:html5的基本结构 head 可添加在头部标签元素有→→title meta style link base script noscript meta 几个重要属性↓↓ html的属性 →标准属性:id name style class →私有属性:独有 如:a href →时间属性:触发 javascript h1~h6 字大小逐渐减小,字体随着浏览器不同可能有不同,一般使用h1~h3 空(自结束)标签:    br换行 hr水平线 meta html中快捷

“GIS DICTIONARY A-Z” 查询页面开发(3)—— 基础知识之服务器、IP地址、域名、DNS、端口以及Web程序的访问流程

今天补一补基础知识: 一.服务器:能够提供服务的机器,取决于机器上安装的软件(服务软件).服务器响应服务请求,并进行处理. Web服务器:提供Web服务,即网站访问.常见Web服务软件:Apache(开源).Tomcat(Java).IIS(微软)…… 二.IP:网络之间互连的协议,即为计算机网络相互连接进行通信而设计的协议.IP地址具有唯一性(每台电脑都有一个唯一的IP地址). IP地址就是类似127.0.0.1.27.166.14.101.163.129.1.108一样点与数字的组合. 三.

web基础知识(一)关于ajax传值最基础东西

HTTP方法之 GET对比POST GET:从指定的资源请求数据, POST:向指定的资源提交要被处理的数据 GET方法: 请注意,查询字符串(名称/值对)是在 GET 请求的 URL 中发送的: /test/demo_form.asp?name1=value1&name2=value2 有关 GET 请求的其他一些注释: GET 请求可被缓存 GET 请求保留在浏览器历史记录中 GET 请求可被收藏为书签 GET 请求不应在处理敏感数据时使用 GET 请求有长度限制 GET 请求只应当用于取回

Web前端学习①Web基础知识

<1>Web前端Web基础知识 一.前端工程师的角色 一个网站的建设需要以下角色: ①策划人员:方案 ②美工/UI设计师:设计图 (.psd  .rp) ③前端工程师:静态网页 ④后端工程师:获取数据 ( Java   PHP  .NET) 二.Web的基础知识 1.Web(万维网)与Internet(因特网) ①Internet简介:定义.主要服务.基本实现技术 ②Web与Internet关系 Web是Internet提供的服务. ③Web简介:万维网 2.Web的工作原理 ①Web的工作原

web基础知识(二)关于ajax,Jquery传值最基础东西

这次还是一些关于jQuery,ajax前后台传值情况, 是自己在做点小东西过程中遇到的,记录下来为自己也方便别人 列表很多,点击编辑和删除无刷新的进行操作的话,肯定是ajax了,因为无刷新嘛,可能有的朋友会说直接传值,传ID到Action删除不就OK了,用得着写js么,纯粹自己找麻烦嘛. 其实这里重点是无刷新的啦, 这个上传后到这里来,有个预览功能,把本次的全部预览,如果全部刷新的话,那么刚才上传的就不会在这个页面了,so,还是采用无刷新的比较好. 点击编辑跳到一个新的页面的时候有两种方法可以选

Python全栈开发之17、tornado和web基础知识

一.web基础知识 学习web框架之前,先来看一下web基础知识,首先要明白其本质就是socket,用户对应一个socket客户端,但是如果从socket开始开发web应用程序那么效率太了,正确的做法是底层socket处理代码由专门的服务器软件实现,而对于真实开发中的python web程序来说也是一般会分为两部分:服务器程序和应用程序.服务器程序负责对socket服务器进行封装,并在请求到来时,先经过web服务器,对请求的各种数据进行整理封装.之后web服务器将封装好的数据传递给应用程序,应用