-
2021-10-13 09:46:55
WEB安全测试检查清单 测试名称 测试内容 说明 测试结果 客户端安全测试 XSS测试 用户输入畸形脚本及标签过滤转义 CSRF测试 验证服务器是否添加会话TOKEN及验证referer JSON挟持测试 检测json格式变化及是否验证referer XSIO测试 测试是否限制图片postion为absolute 基础认证钓鱼测试 检查是否可以修改img标签的src属性构造基础钓鱼页面 URL跳转测试 检测用户能否修改应用的url参数使页面跳转到指定页面 Flash安全测试(客户端) 测试Flash配置中allowscriptaccess、allowNetworking是否合理配置 cookie安全测试 测试重点cookie是否使用了HttpOnly CRLF测试 检查用户输入在HTTP头中返回,并且没有过滤%0a%0d 服务端安全测试 SQL注入测试 在数据库交互操作的输入点,输入sql语句测试是否可以执行 上传漏洞测试 在上传功能点,测试服务端是否对上传文件类型进行有效限制 文件下载安全测试 在文件下载或者读取功能上,测试功能设计是否合理,是否文件名称和路径用户可控 HTTP头测试 HTTP头代理伪造、HTTP头PUT请求等畸形数据测试 远程代码执行测试 提交特定的代码,测试代码是否会被应用执行 路径遍历测试 访问各个路径,测试是否可以显示路径下文件信息 垂直权限测试 检测普通用户是否能进入当前用户权限不能进入的功能,执行高权限操作 Flash安全测试(服务端) 检查配置文件crossdomain.xml是否配置合理 水平权限测试 测试用户是否只能操作自己当前用户的资源,是否能够操作其他相同权限用户的资源 SSRF漏洞 测试相关服务是否存在对内部网络探测 框架安全测试 struts框架安全测试 针对struts2表达式代码执行漏洞进行测试 springMVC框架安全测试 针对springMVC标签多个代码执行漏洞进行测试 openssl安全测试 针对openssl“心脏出血”等漏洞进行测试 逻辑安全测试 登录逻辑安全测试 主要测试登录验证逻辑是否可以绕过,是否存在验证码、是否可以撞库和暴力破解 修改密码逻辑安全测试 针对修改密码逻辑顺序绕过问题测试,针对修改密码中短信、邮件发送逻辑和其中验证码逻辑做相关测试 验证码逻辑测试 对验证码复杂度和验证码验证顺序逻辑、验证码验证重放攻击做安全测试 认证模块测试 对手机短信、ca证书等强认证模块的绕过测试 更多相关内容 -
Web安全测试方案.pdf
2020-07-06 10:56:16本测试主要包括主动模式和被动模式两种。在被动模式中,测试人员尽可能的了解应用逻辑:比如用工具分析所有的HTTP请求及相应,以便测试人员掌握应用程序所有的接入点。 -
web安全测试
2018-06-21 23:34:16web安全测试高清扫描版,本书讲了什么是web安全,然后讲了有什么技术来测试web的安全性,且能让web安全测试可自动化,提高了测试的效率,避免了回归测试的痛苦 -
Web安全测试PPT
2017-01-04 09:52:49Web安全测试PPT,仅供参考 -
web安全测试用例
2017-11-16 18:45:08web安全测试用例,需要的拿去! web安全测试用例,需要的拿去! -
[完整][中文][WEB安全测试].(美)霍普.扫描版.pdf
2012-12-07 14:48:12[WEB安全测试].(美)霍普.扫描版.pdf (美)霍普 等 著 傅鑫 等 译 出 版 社:清华大学出版社 ISBN:9787302219682 出版时间:2010-03-01 版 次:1 页 数:281 装 帧:平装 开 本:16开 所属分类:图书 > ... -
WEB安全测试.pdf
2012-12-13 09:58:32《Web安全测试》内容简介:在你对Web应用所执行的测试中,安全测试可能是最重要的,但它却常常是最容易被忽略的。《Web安全测试》中的秘诀演示了开发和测试人员在进行单元测试、回归测试或探索性测试的同时,如何去... -
什么是web安全测试
2020-05-08 20:58:541.1什么是web安全测试? Web安全测试就是要提供证据表明,在面对敌意和恶意输入的时候,web系统应用仍然能够充分地满足它的需求 1.2为什么进行Web安全测试 2005年06月,CardSystems,黑客恶意侵入了它的电脑系统,...1.1什么是web安全测试?
Web安全测试就是要提供证据表明,在面对敌意和恶意输入的时候,web系统应用仍然能够充分地满足它的需求
1.2为什么进行Web安全测试
2005年06月,CardSystems,黑客恶意侵入了它的电脑系统,窃取了4000万张信用卡的资料。
2011年12月,国内最大的开发者社区CSDN被黑客在互联网上公布了600万注册用户的数据;黑客随后陆续公布了网易、人人、天涯、猫扑等多家大型网站的数据信息。
2014年12月,大量12306用户数据被泄露,被泄露的数据达131653条,包括用户账号、明文密码、身份证和邮箱等多种信息。
2018年03月,Facebook泄露数千万用户的数据,信息被违规滥用,导致股价一度下跌;12月再次因一个软件漏洞导致用户的私人照片遭泄露。
目前web应用越来越广泛,web安全威胁也就更明显,而web攻击隐蔽性强,危害性大。因而web安全测试也就显得尤为必要了。
1.3web安全的认识误区
lWeb网站使用了防火墙,所以很安全
lWeb网站使用了IDS,所以很安全
lWeb网站使用了SSL加密,所以很安全
l漏洞扫描工具没发现任何问题,所以很安全
l我们每季度都会聘用安全人员进行审计,所以很安全2:web攻击的主要类型
跨站脚本(XSS)攻击
SQL注入
XML注入
目录遍历
上传漏洞攻击
下载漏洞攻击
信息泄露
访问控制错误2.1跨站脚本(XSS)攻击
XSS又叫CSS(CrossSiteScript),跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。
盗取Cookie
钓鱼
操纵受害者的浏览器
蠕虫攻击反射型跨站(reflected xss)
服务端获取HTTP请求中的参数,未经过滤直接输出到客户端。如果这些参数是脚本,它将在客户端执行。(钓鱼常见)存储型跨站(Sstored xss)
用户输入的数据存放在服务端(一般放数据库里),其他用户访问某个页面时,这些数据未经过滤直接输出。这些数据可能是恶意脚本,对其他用户造成危害。(挂马常见)mom跨站(DOM-Based XSS)
攻击者提交的恶意数据并未显式的包含在web服务器的响应页面中,但会被页面中的js脚本以变量的形式来访问到,导致浏览器在渲染页面执行js脚本的过程中,通过DOM操作执行了变量所代表的恶意脚本。跨站请求伪造(csrf)
强迫受害者的浏览器向一个易受攻击的Web应用程序发送请求,最后达到攻击者所需要的操作行为。恶意请求会带上浏览器的Cookie。受攻击的Web应用信任浏览器的Cookie2.2 sql注入
将SQL命令人为的输入到URL、表格域、或者其他动态生成的SQL查询语句的输入参数中,完成SQL攻击。
查询数据库中的敏感内容
绕过认证
添加、删除、修改数据
拒绝服务典型例子:
原URL:http://localhost/name?nameid=222
攻击SQL注入:http://localhost/name?nameid=‘’or1=1
注入点一般存在以下几个地方:
2.3XML注入
和SQL注入原理一样,XML是存储数据的地方,如果在查询或修改时,如果没有做转义,直接输入或输出数据,都将导致XML注入漏洞。攻击者可以修改XML数据格式,增加新的XML节点,对数据处理流程产生影响。
2.4目录遍历
目录遍历攻击指的是:恶意用户找到受限文件的位置并且浏览或者执行它们。
攻击者浏览受限文件,比如读取配置文件、密码文件等,就会破坏隐私,甚至引发安全问题。而如执行了受限的文件,攻击者就可以根据自己的意愿来控制和修改web站点
2.5上传文件Web应用程序在处理用户上传的文件时,没有判断文件的扩展名是否在允许的范围内,或者没检测文件内容的合法性,就把文件保存在服务器上,甚至上传脚本木马到web服务器上,直接控制web服务器。
未限制扩展名
未检查文件内容
病毒文件2.6任意文件下载
Web应用程序提供下载文件的路径时,文件的路径用户可控且未校验或校验不严,攻击者通过”…/”字符来遍历高层目录,并且尝试找到系统的配置文件或者系统中存在的敏感文件。
下载任意附件
下载数据库配置文件等2.7消息泄露
Web应用程序在处理用户错误请求时,程序在抛出异常的时候给出了比较详细的内部错误信息,而暴露了不应该显示的执行细节,如文件路径、数据库信息、中间件信息、IP地址等2.8访问控制错误
系统没有对URL的访问作出限制或者系统已经对URL的访问做了限制,但这种限制却实际并没有生效。攻击者能够很容易的就伪造请求直接访问未被授权的页面。
例如,通过一个参数表示用户通过了认证:
http://www.example.com/userinfo.jsp?authenticated=no 通过修改authenticated参数为Yes:
http://www.example.com/userinfo.jsp?authenticated=yes3.1web安全测评要求
信息系统的安全保护等级分为五级,一至五级等级越高,约束越严格。以二级为例,应用安全测评要求(二级)为:身份鉴别、访问控制、安全审计、通信完整性、通信保密性、软件容错、资源控制;
3.2web安全测试方法
手动测试(结合测评要求)
自动测试
混合测试
手动测试 :
1.不登录系统,直接输入登录后的页面的url是否可以访问
2.不登录系统,直接输入下载文件的url是否可以下载,如输入http://url/download?name=file是否可以下载文件file
3.退出登录后按后退按钮能否访问之前的页面
4.ID/密码验证方式中能否使用简单密码。如密码标准为6位以上,字母和数字混合,不能包含ID,连续的字母或数字不能
超过n位
5.重要信息(如密码,身份证号码,信用卡号等)在输入或查询时是否用明文显示;在浏览器地址栏里输入命令
javascrīpt:alert(doucument.cookie)时是否有重要信息;在html源码中能否看到重要信息
6.手动更改URL中的参数值能否访问没有权限访问的页面。如普通用户对应的url中的参数为l=e,高级用户对应的url中的参
数为l=s,以普通用户的身份登录系统后将url中的参数e改为s来访问本没有权限访问的页面
7.url里不可修改的参数是否可以被修改
8.上传与服务器端语言(jsp、asp、php)一样扩展名的文件或exe等可执行文件后,确认在服务器端是否可直接运行
9.注册用户时是否可以以’–,‘or1=1–等做为用户名
10.传送给服务器的参数(如查询关键字、url中的参数等)中包含特殊字符(’,'and1=1–,'and1=0–,'or1=0–)时是否可
以正常处理
11.执行新增操作时,在所有的输入框中输入脚本标签(<scrīpt>alert("")< scrīpt><="" font="">)后能否保存
12.在url中输入下面的地址是否可以下载:
http://url/download.jsp?file=C:\windows\system32\drivers\etc\hosts,http://url/download.jsp?file=/etc/passwd
13.是否对session的有效期进行处理
14.错误信息中是否含有sql语句、sql错误信息以及web服务器的绝对路径等
15.ID/密码验证方式中,同一个账号在不同的机器上不能同时登录
16.ID/密码验证方式中,连续数次输入错误密码后该账户是否被锁定
17.新增或修改重要信息(密码、身份证号码、信用卡号等)时是否有自动完成功能(在form标签中使用autocomplete=off
来关闭自动完成功能3.3工具的使用
AWVS
WebInspect
AppScanAppScan原理
通过搜索(爬行)发现整个Web应用结构
根据分析,发送修改的HTTPRequest进行攻击尝试(扫描规则库)
通过对于Respone的分析验证是否存在安全漏
-
WEB安全测试pdf
2014-07-01 16:26:37关于web安全测试方面一本很好的书籍,关于web安全测试方面一本很好的书籍,关于web安全测试方面一本很好的书籍 -
WEB安全测试培训.
2018-05-01 22:13:56WEB安全测试培训WWEB安全测试培训.EB安全测试培训.WEB安全测试培训. -
web安全性测试总结
2018-11-28 15:49:56sql注入:将SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串 示例:在查询中输入字符串 ' or 1=1 -- -
WEB安全性测试测试用例(基础)
2016-06-06 13:43:12WEB安全性测试测试用例(基础) -
web安全测试概述
2018-08-24 14:19:12一、关于安全 1、安全问题的根源: 1)、分层思想,这个分层包括网络分层和软件分层等,分层可以将大的问题划分为不同的层次,层次与层次之间通过一定的接口标准进行信息交换,从而将一个大问题拆分开来由不同层次...一、关于安全
1、安全问题的根源:
1)、分层思想,这个分层包括网络分层和软件分层等,分层可以将大的问题划分为不同的层次,层次与层次之间通过一定的接口标准进行信息交换,从而将一个大问题拆分开来由不同层次的模块去实现扩展。
· 从功能实现的角度看,分层是很方便高效的。
· 从系统安全的角度看,不同层次由不同的人去负责,每个人的眼光具有局限性,无法意识到其他层次的安全问题。
· 系统安全要保证完全的安全,任何一点的漏洞都有可能导致系统崩溃,所以要全面地考虑系统安全。
2)、只追求功能的实现,很多技术人员只追求功能的实现而不从安全的角度设计架构软件。
3)、最大的安全威胁是人,只要有人,就会或多或少出现纰漏,让不法分子有机可乘。
2、安全目标:安全人员在保护系统安全时要实现的目标。
1)、先于×××者发现和防止漏洞出现:
· ×××型安全:用×××的手段(×××测试)探测系统的漏洞,再去修补他。
· 防护型安全:将不必要的端口关闭,将系统的×××面降到最低。但这样周期长,投入多,效果不好,因为总有没有防护到的地方。
2)、在保护系统安全时要充分从×××型安全和防护型安全的角度去考虑。
二、×××测试
1、用×××的手段*系统,尝试绕过或打败安全防御机制,发现系统的弱点。
2、×××测试者应不断证明安全问题的存在,不能去破坏系统。
3、×××测试者就是白帽子,白帽子和黑帽子拥有相同的技能,只是用的地方不一样,一个用于守护,一个用于破坏。
· ×××测试和×××的区别在于是否取得目标公司的授权。
4、×××测试标准:简称PETS(详见:http://www.pentest-standard.org),他将×××测试的流程做了一个划分。
1)、前期交互阶段:和客户进行前期沟通。
· 确定×××测试的范围:将大系统划分为一个个子系统(包括系统内所有的设备系统软件)分别去×××测试。
· 确定测试方式:现场测试,远程测试,是否使用社会工程学的手段配合,是否进行直接的DDoS×××型的测试。
· 确定×××投入:花费多少时间,人力。
2)、情报搜集阶段:对目标系统进行信息搜集。
· 被动信息搜集(不与目标系统进行直接交互):邮箱地址,联系人,公司地址,DNS信息,服务器的IP,网站的域名,近期公司动态等。
· 主动信息搜集(对目标系统进行主动探测):主机发现,端口发现,服务发现等。
· 通过搜索引擎和扫描进行情报收集。
3)、威胁建模阶段:通过前期的情报搜集已经对系统有了大概的认识,然后分析情报选取效率最高(用时最短,威胁最大)的手段进行×××测试。
4)、漏洞分析阶段:根据情报分析漏洞。
· 目标服务器版本是否过低,是否有已经公开的漏洞。
· 对一些组件进行逆向分析,发现0day,编写具有针对性的×××脚本。
5)、××××××阶段:漏洞分析完毕后,对漏洞进行××××××,这时候会遇到各种安全防护机制,要想办法绕过防护机制,进入系统拿到权限。
6)、后×××测试阶段:拿到一台服务器的权限后,要继续利用这台服务器向内网×××,想办法控制更多的服务器造成更大的威胁。
7)、×××测试报告:×××人员将漏洞的发现利用到控制整个服务器的过程记录成报告,并附上漏洞的修补方法,提交给目标公司的领导层。
5、×××测试误区:扫描器就是一切。
· 扫描器只能找到技术型的漏洞,对于业务逻辑漏洞无能为力,业务逻辑漏洞需要×××测试人员根据公司的业务逻辑寻找。
Kali linux概述
一、关于kali linux
1、Kali的缘由:
image.png
2、kali linux介绍:
1)、基于Debian的Linux发行版本。
2)、前身是BackTrack(最后更新版本是5.23,之后停止更新),2013年3月发布。
3)、用于×××测试和安全审计。
4)、包含600+安全工具(将之分类,包含×××测试,逆向工程,电子取证等工具)。
5)、采用FHS标准的目录结构(所有linux系统都采用的目录结构,这也是kali取代BT的重要原因)。
6)、定制内核(定制的无线驱动的内核,方便进行无线×××)。
7)、支持ARM和手机平台(有ARM和手机平台的版本,可以在上面安装kali linux)。
8)、开源免费(由一个×××型安全组织Offensive Security Ltd进行开源维护)。
3、kali linux策略:
1)、root用户策略:其他linux平台一般遵循权限最低原则,平常使用普通用户工作,必要时才登陆root用户。但是kali中的安全工具大部分都需要root权限才能使用,而且kali linux使用者要有能力放心的使用root用户,所以一般使用root用户工作。
2)、网络服务策略:kali中的所有网络服务默认关闭,也无自动启动脚本,重启后需要手动开启。
· 如果想要自启动某服务,可以使用命令设置。
3)、更新升级策略:kali是基于debian的再开发,debian的所有更新都会同步到kali上。同时安全工具的更新也会同步到kali上。
4、关于本课程:
image.png
Kali linux安装
一、硬盘安装
1、下载iso安装镜像文件。
· https://www.kali.org/downloads/
· mini版本是最小化版本的kali安装镜像,里面不包含任何安全工具,需要自己安装。
2、验证hash值:排除下载过程中造成的文件损失导致的故障。
· 计算方法:下载一个计算文件sha256sum的工具,再计算iso文件的sha256sum值,将之与官网上给出的sha256sum值比对,相同则下载无损。
image.png
3、制作启动光盘或启动U盘:
1)、制作启动光盘:需要光盘刻录机和光盘介质。
2)、制作启动U盘:使用unetbootin软件将iso文件抽取拷贝到U盘中(U盘应大于4G)。
4、设置BIOS启动顺序:重启电脑设置BIOS启动顺序,让电脑通过U盘启动。
5、启动安装:设置好BIOS启动顺序后,电脑会进入kali linux的安装界面。
image.png
1)、Live(amd64):电脑启动U盘中的系统,不安装。这种属于体验模式(U盘只读),不能安装软件包,也不能升级更新操作系统。
2)、Live(amd64 failsafe):
3)、Live(forensic mode):启动取证模式,可以进行计算机犯罪或电子取证的操作。
4)、Live USB Persistence:启动持久USB中的Live光盘,对U盘内的操作系统可读可写。
5)、Live USB Encrypted Persistence:启动持久加密USB中的Live光盘,对U盘内的操作系统可读可写且操作加密。
· 4、5相当于拥有了一个移动的kali linux操作系统,不需要安装,即插即用。
6)、Install:命令行安装kali。
7)、Graphical install:图形化安装kali。
二、Docker安装
1、在官网上下载一个docker的image文件,再在上面开启容器运行。
image.png
· 可以远程连上Docker,进入里面的容器。
三、基于virtualbox的虚拟机安装
1、下载virtualbox及其扩展功能包,并在全局设定中导入扩展包。
2、创建虚拟机:
1)、新建虚拟电脑。
image.png
2)、设置内存大小,根据自己内存的情况设置,在此设置4096MB内存。
3)、现在创建虚拟硬盘。
4)、设置虚拟硬盘文件类型为VDI。(如果以后要将虚拟硬盘文件用vm虚拟机启动,虚拟硬盘文件类型选择vmdk)
5)、动态分配空间。
6)、设置虚拟硬盘文件的位置和大小,100GB。
7)、虚拟机创建成功。
3、设置虚拟机:
1)、设置核数。
2)、虚拟机不用启用声音。
3)、启用网卡的网络连接,连接方式为NAT模式。
4)、为虚拟机插入iso镜像文件。
image.png
4、启动虚拟机。
5、图形化界面安装kali linux:
1)、设置语言(汉语 or 英语)。
2)、设置主机名(MyKali)。
3)、设置域名(跳过)。
4)、设置root密码(000000)。
5)、磁盘分区:使用整个磁盘——>将/home、/var、/tmp都分别放在单独的分区——>将改动写入磁盘。
6)、安装系统。
7)、更新软件包。
8)、将GRUB启动引导安装到硬盘的MBR上。
6、安装tools(安装虚拟机增强功能):
1)、需要先安装linux内核的头文件,apt-get install linux-headers-$(uname -r)
2)、将光盘中的VBoxLinuxAdditions.run移到桌面,在桌面打开terminal,赋予这个文件执行权限(chmod +x file),再执行该文件(./file)。
3)、安装成功,重启系统。
7、注意:
1)、如果觉得手动安装系统麻烦,可以下载官网配好的虚拟硬盘文件,用VMware虚拟机的硬盘文件在virtualbox中创建虚拟机:创建虚拟硬盘文件时选择使用已有的虚拟硬盘文件——>选择下载的虚拟硬盘文件中的第一个。这样即可直接进入配置好了的kali linux系统,默认root密码是toor。
2)、apt-get update:下载系统中所有软件包最新版本的索引文件,下载好后再用apt-get upgrade将软件包根据索引文件进行升级。
3)、dmesg:查看系统变化。
四、持久加密USB的方式使用kali
1、Live USB Encrypted Persistence这种模式下启动kali要输入保护密码,U盘相当于是一个移动kali linux系统,可读可写,并且写的内容是加密的。
· 将U盘的其余空间进行磁盘级别的加密,并将系统文件目录都转移到加密空间中,且之后对系统的更改都会写入到加密空间中。
· LUKS(linux unifield key setup):Linux磁盘分区加密规范,以前不同的软件开发者对磁盘加密有各自的算法,彼此不兼容,国际标准组织将磁盘加密技术做了一个规范,实现了Linux中磁盘磁盘加密技术的统一。(windows系统也可使用LUKS进行磁盘加密,但是想要查看加密磁盘需要下载DoxBox)
· LUKS进行Linux的磁盘加密是通过dm-crypt和cryptsetup实现的:dm-crypt是后端组件,用于加密解密磁盘数据。cryptsetup是前端组件,是一个命令行工具,用于发出对磁盘进行加密解密的指令。
· 加密技术有文件级别的加密和磁盘级别的加密:
文件级别的加密只是基于操作系统对文件进行加密,可以将文件从磁盘中读出来或取得系统的管理员权限从而打开文件。
磁盘级别的加密会对磁盘中的数据进行加密,要想查看得要有证书或秘钥,更安全。(windows的磁盘加密软件bitlocker)
2、linux系统下制作启动U盘:
1)、将插入的U盘映射到虚拟机中。
2)、将kali linux中的iso文件用unetbootin抽取拷贝到U盘中。
3)、或者使用块复制将iso文件抽取拷贝到U盘中:先卸载删除U盘中的分区(使用工具GParted),再将iso文件抽取拷贝到U盘(dd if=kali-linux-2018.2-amd64.iso of=/dev/sdb bs=1M)。
· if指定输入文件,of指定输出文件,bs指定一次复制的块的大小。
· dd复制iso文件看不到进度,使用命令:watch -n 5 killall -USR1 dd,每五秒输出一次dd复制的进度。
3、为U盘创建额外分区,使用LUKS加密分区,打开并格式化加密分区并设置卷标,挂载加密分区,添加配置文件persistence.conf。
· 创建额外分区使用工具parted:
· print devices:查看现在系统中插入的设备情况。
· select /dev/sdb:选中设备,对其分区。
· print:查看当前设备分区情况。
· mkpart primary 3063(起始位置) 7063(终止位置):给设备新建了一个约4G的主分区。
· 使用LUKS加密分区:
· cryptsetup –verbose –verify-passphrase luksFormat /dev/sdb3:对设备的第三分区进行磁盘加密。
· 输入磁盘加密的保护密码。
· 格式化加密分区并设置卷标:
· cryptsetup luksOpen /dev/sdb3 usb:打开加密分区,将他挂载到/dev/mapper/usb目录下,要输入保护密码。
· mkfs.ext4 /dev/mapper/usb:对加密分区进行格式化。
· e2label /dev/mapper/usb persistence:为加密分区设置卷标,卷标名为persistence。
· 挂载加密分区:
· mount /dev/mapper/usb /mnt/usb/:将设备挂载到/mnt/usb目录下,linux访问一个设备要将其挂载到一个目录中,访问这个目录就是在访问这个设备。
· 添加配置文件:
· echo “/ union” > /mnt/usb/persistence.conf:这个配置文件将在usb以持久加密模式启动系统时被读取,以确认这个分区就是要存放加密信息的分区。
4、卸载设备,关闭加密分区:umount /dev/mapper/usb & cryptsetup luksClose /dev/mapper/usb。
5、U盘配置成功,以后可以用这个U盘打开持久加密的kali linux系统了。
Kali linux环境
一、kali linux目录结构
1、系统界面设置工具:gnome-tweaks
2、监视网络流量的工具:nethogs
3、目录结构(使用FHS目录结构):文件根据自己的类型放在对应的目录下。
1)、/bin:存放所有用户都可以使用的程序目录。
2)、/boot:存放系统内核及引导程序的目录。
3)、/dev:存放设备文件的目录。
4)、/etc:存放配置文件的目录。
5)、/home:其他用户家目录所在的目录。
6)、/lib:存放库文件的目录。
7)、/lib64:存放64位库文件的目录。
8)、/live-build:build自己kali版本时使用的目录。
9)、/live+found:系统崩溃退出时存放丢失文件的目录。
10)、/media:默认挂载外接存储的目录。
11)、/mnt:以前的默认挂载外接存储的目录。
12)、/opt:存放一些应用程序的目录。
13)、/proc:是系统启动时临时生成的目录,是内存的映射,用于存放系统的运行配置参数。
14)、/root:root用户的家目录。
15)、/sbin:存放管理员才有权限使用的程序目录。
16)、/selinux:linux的安全机制目录。
17)、/tmp:存放临时文件的目录。
18)、/usr:存放用户自己安装的软件目录,里面自成框架。
19)、/var:存放经常变化的文件目录,例如邮件日志等。
二、kali linux常用命令
1、linux是基于命令行的,图形化桌面环境有gnome、KDE等。
· linux的命令行解释器是bash。
2、常用的bash命令:
1)、ls:显示当前目录的所有文件,蓝色表示目录,白色表示文件,绿色表示可执行文件,红色表示压缩包文件。
· 常用参数有-lhra,–sort=size/time。
2)、cd:切换目录。
3)、pwd:查看当前目录路径。
4)、cat:查看文件内容,会将文件内容全部打印。
5)、more:查看文件内容,一次只显示一部分内容,会在左下角显示已显示内容的百分比。
6)、less:查看文件内容,一次只显示一部分内容。
7)、tail:从尾部显示文件内容。
· 常用参数有-n,
· 常和watch配合使用:watch -n 2 tail -20 /var/log/messages(每两秒检查一次日志,有变化则更新)
8)、cp:复制文件。
· 复制目录加-r。
9)、rm:删除文件。
· 删除目录加-r。
10)、top:监视系统性能的命令。
· 可以kill pid来删除指定id的进程。
11)、ps:查看系统进程信息。
· ps -ef:查看系统进程信息,包含开启的命令、pid、ppid等。
· ps aux:查看系统进程信息,包含开启的命令、pid、cpu使用率、内存使用率。
12)、grep:过滤文本内容(按行过滤)。
13)、ifconfig:查看网卡信息。
· 临时修改网卡的mac地址:ifconfig eth0 down(关闭网卡)—>macchanger -m 00:11:11:11:11:11 eth0—>ifconfig eth0 up
14)、netstat:查看系统的网络情况。
· netstat -pantu:查看和系统建立tcp/udp连接的情况。
15)、uniq:将相同的行合并。
16)、mount:查看系统挂载情况。
· mount -o loop kali.iso /media/cdrom:将外部设备或网络文件夹挂载到/media/cdrom目录下。
17)、dmesg:查看系统最新日志,和tail /var/log/messages显示一样。
18)、find:查找文件或目录的位置。
· find / -name “nmap”:从根目录开始查找名为nmap的文件或目录。
· find / -iname “nmap”:从根目录开始查找名为nmap的文件或目录,不区分大小写。
· find / -name “nmap” -exec cp {} /tmp/ \;:从根目录开始查找名为nmap的文件或目录,并将之复制到/tmp/目录下。
19)、whereis:查找软件的位置,范围有限。
· whereis -b nmap:查找二进制格式的nmap的位置。
· 通过apt-get等包管理工具安装软件的路径都会放入本地的一个数据库中,whereis就是通过这个数据库查找软件的位置。
· 如果才安装了软件,需要更新数据库:updatedb,就可以用whereis查到了。
· 如果软件是通过源码安装,软件的路径不会写进数据库中,通过whereis查不到。
20)、echo:打印一行文本。
· -n表示打印文本不换行。
21)、vi:linux中的文本编辑器。
命令模式:dd表示删除一行,o表示在光标位置插入空行(后面的行下移),u表示撤回上一步编辑,y表示复制当前行,p表示将复制的行粘贴到光标所在行(后面的行下移),i表示进入编辑模式,/表示查找指定文本内容,:wq表示保存退出,:q表示不保存退出,:q!表示强制退出,:wq!表示强制保存退出。
三、关于shell脚本
1、一次执行多条命令的符号:
1)、|:将前面命令的输出作为后面命令的输入。
2)、&:依次执行前后的命令。
3)、&&:先执行前面的命令,执行成功了才执行后面的命令。
4)、||:前面的命令执行失败才执行后面的命令。
2、shell脚本编写:
1)、打印输入内容:
!/bin/bash #该脚本使用/bin/bash解释器执行
echo -n “IP: ” #打印文本不换行
read ip #用参数ip接收输入数据
echo “Your ip is: $ip” #打印文本
2)、打印99乘法表:
image.png
3)、检测某一网段能够ping的IP:
image.png
4)、检测文件中的ip地址下面的端口是否开启:
-
离大厂近一点《阿里巴巴集团Web安全测试规范》独家版
2021-10-11 21:38:42今天,我们就离大厂更近一点,共同学习阿里这份《阿里巴巴集团Web安全测试规范》 《阿里巴巴集团Web安全测试规范》 背景简介 为了规避安全风险、规范代码的安全开发,以及如何系统的进行安全性测试,目前...很多人都知道,在学校学的技术,初创公司的技术,外包公司的技术,自研公司的技术跟互联网大厂的技术有天壤之别,几乎所有在互联网这个圈子里的人都有一个“大厂梦”,因为进了大厂意味着更先进的技术,更高的薪资,更优秀的同事跟领导,更好的成长空间。甚至你只要是从大厂出来,以后找工作都要方便很多。
今天,我们就离大厂更近一点,共同学习阿里这份《阿里巴巴集团Web安全测试规范》
背景简介
为了规避安全风险、规范代码的安全开发,以及如何系统的进行安全性测试,目前缺少相应的理论和方法支撑。为此,我们制定《安全测试规范》,本规范可让测试人员针对常见安全漏洞或攻击方式,系统的对被测系统进行快速安全性测试。
适用读者
本规范的读者及使用对象主要为测试人员、开发人员等。
适用范围
本规范主要针对基于通用服务器的Web应用系统为例,其他系统也可以参考。如下图例说明了一种典型的基于通用服务器的Web应用系统:
本规范中的方法以攻击性测试为主。除了覆盖业界常见的Web安全测试方法以外,也借鉴了一些业界最佳安全实践。
安全测试在项目整体流程中所处的位置
一般建议在集成测试前根据产品实现架构及安全需求,完成安全性测试需求分析和测试设计,准备好安全测试用例。
在集成版本正式转测试后,即可进行安全测试。如果产品质量不稳定,前期功能性问题较多,则可适当推后安全测试执行。
Web安全测试方法
安全功能验证
功能验证是采用软件测试当中的黑盒测试方法,对涉及安全的软件功能,如:用户管理模块,权限管理模块,加密系统,认证系统等进行测试,主要验证上述功能是否有效,不存在安全漏洞,具体方法可使用黑盒测试方法。
漏洞扫描
漏洞扫描是指基于漏洞数据库,通过扫描等手段对指定的远程或者本地计算机系统的安全脆弱性进行检测,发现可利用的漏洞的一种安全检测(渗透攻击)行为。
漏洞扫描技术是一类重要的网络安全技术。它和防火墙、入侵检测系统互相配合,能够有效提高网络的安全性。通过对网络的扫描,网络管理员能了解网络的安全设置和运行的应用服务,及时发现安全漏洞,客观评估网络风险等级。网络管理员能根据扫描的结果更正网络安全漏洞和系统中的错误设置,在黑客攻击前进行防范。如果说防火墙和网络监视系统是被动的防御手段,那么安全扫描就是一种主动的防范措施,能有效避免黑客攻击行为,做到防患于未然。
Appscan工具介绍
Appscan扫描工具只能检测到部分常见的漏洞(如跨站脚本、SQL注入等),不是针对用户代码的,也就是说不能理解业务逻辑,无法对这些漏洞做进一步业务上的判断。往往最严重的安全问题并不是常见的漏洞,而是通过这些漏洞针对业务逻辑和应用的攻击。
Web目前分为“应用”和“Web服务”两部分。应用指通常意义上的Web应用,而Web 服务是一种面向服务的架构的技术,通过标准的Web协议(如HTTP、XML、SOAP、WSDL)提供服务。
AppScan工作原理
AppScan工作原理:
1、通过搜索(爬行)发现整个 Web 应用结构。
2、根据分析,发送修改的 HTTP Request 进行攻击尝试(扫描规则库)。
3、通过对于 Respond 的分析验证是否存在安全漏洞。
所以,AppScan 的核心是提供一个扫描规则库,然后利用自动化的“探索”技术得到众多的页面和页面参数,进而对这些页面和页面参数进行安全性测试。“扫描规则库”,“探索”,“测试”就构成了 AppScan 的核心三要素。
测试用例和规范标准
测试用例和规范标准可分为主动模式和被动模式两种。在被动模式中,测试人员尽可能地了解应用逻辑:比如用工具分析所有的HTTP请求及响应,以便测试人员掌握应用程序所有的接入点(包括HTTP头,参数,cookies等);在主动模式中,测试人员试图以黑客的身份来对应用及其系统、后台等进行渗透测试,其可能造成的影响主要是数据破坏、拒绝服务等。一般测试人员需要先熟悉目标系统,即被动模式下的测试,然后再开展进一步的分析,即主动模式下的测试。主动测试会与被测目标进行直接的数据交互,而被动测试不需要,参考以下示意图:
本规范所涉及的测试工具
安全工具的申请和使用请遵循公司信息安全相关规定。
工具名称
AppScan IBM Rational AppScan,在Web安全测试中所使用的自动化扫描工具
WebScarab Web Proxy软件,可以对浏览器与Web服务器之间的通信数据进行编辑修改
DirBuster 在Web安全测试中用来遍历目录、文件的工具
WSDigger Web service 安全测试工具
Jad Java class文件反编译软件
CAJAVA Java class文件反编译软件(兼容多个JDK版本)
Pangolin SQL注入测试工具
WireShark 网络协议抓包与分析工具
福利
需要这份《阿里巴巴集团Web安全测试规范》独家版的可以点击下面领取
-
Web安全测试技术专题-掌握软件测试九大技术主题.ppt
2020-03-23 08:49:32第6章 Web安全测试专题技术分享;第6章 Web安全测试专题技术分享;第6章 Web安全测试专题技术分享;第6章 Web安全测试专题技术分享;第6章 Web安全测试专题技术分享;第6章 Web安全测试专题技术分享;第6章 Web安全测试... -
菜鸟浅谈——web安全测试
2018-02-27 22:29:32本文仅为小白了解安全测试提供帮助 一:安全测试注意事项 1)要注意白帽子与黑客之间的区别 2)在挖漏洞挣外快时,注意不要使用安全扫描或暴力破解软件对上线网站进行扫描或攻击。 不要对上线网站造成破坏,不要... -
web安全测试服务开展流程简介
2017-01-05 17:08:421、web安全测试简介 web安全测试业务主要围绕流程、标准、规范三个方面展开,其中流程是核心,标准和规范在流程运作中落地与执行。 2、web安全测试流程概要设计 -
web安全测试学习笔记(一)之环境搭建:OWASP_Broken_Web_Apps靶机
2021-11-12 14:52:36web安全测试环境搭建:靶机OWASP_Broken_Web_Apps、渗透机Kali。 都搭建到虚拟机VMware。 OWASP_Broken_Web_Apps下载地址:OWASP Broken Web Applications Project - Browse Files at SourceForge.net 下载的1.27... -
网站安全检测:8款非常有用的免费 Web 安全测试工具
2019-10-05 11:51:23随着 Web 应用越来越广泛,Web 安全威胁日益凸显。黑客利用网站操作系统的漏洞和 Web 服务程序的 SQL 注入漏洞等得到Web服务器的控制权限,轻则篡改网页内容,重则窃取重要内部数据,更为... -
WEB安全测试要点总结
2017-10-23 19:27:09一、大类检查点: 大类 细项 上传功能 绕过文件上传检查功能 上传文件大小和次数限制 注册功能 ...注册请求是否安全传输 ...激活链接测试 重复注册 批量注册问题 登录功能 -
web安全测试内容
2017-11-08 13:52:00事实是这样的:如果你不了解这些研究对象是不可能搞好安全研究的。 这样看来,Web有八层(如果把浏览器也算进去,就九层啦,九阳神功……)!!!每层都有几十种主流组件!!!这该怎么办?别急,一法通则万法通,... -
五、Web安全测试工具Appscan
2020-02-05 00:19:30AppScan是IBM的一款web安全扫描工具,可以利用爬虫技术进行网站安全渗透测试,根据网站入口自动对网页链接进行安全扫描,扫描之后会提供扫描报告和修复建议等。 AppScan有自己的用例库,版本越新用例库越全(用例库... -
Web安全测试规范
2012-03-01 13:08:43为了规避Web安全风险、规范Web安全开发,并系统的进行Web安全性测试,目前缺少相应的理论和方法支撑。制定《Web 安全测试规范》,本规范可让测试人员针对Web常见安全漏洞或攻击方式,系统的对被测Web系统进行快速... -
1.金融网络安全 Web应用服务安全测试通用规范.pdf
2021-05-08 16:48:38人民银行发布金融网络安全 Web应用服务安全测试通用规范 -
11个免费的Web安全测试工具
2018-02-27 09:25:59转载自:... 黑测工作室 - 专注于软件安全测试技术研究!... 11个免费的Web安全测试工具 1.Netsparker Community Edition(Windows) 这个程序可以检测SQL注入和跨页脚本事件... -
金融网络安全 Web应用服务安全测试通用规范 (JRT 0213—2021).pdf
2021-03-01 17:09:08中国人民银行发布Web应用服务安全测试通用规范,规范金融行业各类web应用安全测试规范。 -
web安全详解(渗透测试基础)
2021-11-20 20:28:13文章目录一、Web基础知识1.http协议2....14. Web客户端的作用15.Web服务端作用16.集群环境的作用17.什么是Cookie,Cookie的作用。18.Cookie 的类型19.session的作用和原理Session的原理Session的两 -
WEB应用安全测试指南.rar
2019-11-27 11:41:02WEB应用安全测试指南 WEB应用安全测试指南 WEB应用安全测试指南 WEB应用安全测试指南 WEB应用安全测试指南 WEB应用安全测试指南 -
安全测试(二) web安全测试 常规安全漏洞 可能存在SQL和JS注入漏洞场景分析。为什么自己没有找到漏洞,哪...
2021-12-18 10:46:50安全测试 web安全测试 常规安全漏洞 可能存在SQL和JS注入漏洞场景分析。为什么自己没有找到漏洞,哪么可能存在漏洞场景是?SQL注入漏洞修复 JS注入漏洞修复 漏洞存在场景分析和修复示例 -
对于web安全测试的一些感悟
2013-11-29 13:58:15起初对于web安全性测试有了很大的误区,作为一个菜鸟,我认为做安全性测试首先要以黑客的身份去看网站,找寻漏洞,进行入侵。为此,我找了很多家网站进行学习,如习科论坛等。也在项目中进行了尝试,找了个xss 、sql...