Web应用程序是一种使用浏览器在互联网或企业内部网上进行访问操做的应用软件形态。Web应用体系有浏览器做为客户端完成数据显示和展现内容的渲染;由功能强大的服务器完成主要业务的计算和处理,二者之间经过因特网或内联网上HTTP/HTTPS应用层协议的请求与应答进行通讯。服务器端由Web服务器软件、Web应用程序与后端数据库构成,并经过经典三层架构:表示层、业务逻辑层、数据层三层来进行组织与构建。
浏览器
使用HTTP/HTTPS协议,HTML语言和web服务器进行交互,获取web服务器上的信息和应用服务。
Web服务器
web服务器软件一般被描述为HTTP守护程序,接收Web客户端对资源的请求,,在这些请求上执行一些基本的解析处理以肯定资源的存在,而后将它传送给web应用程序来执行,待web应用程序执行完逻辑并返回响应时,web服务器在将这个响应返回给web客户端,在浏览器上进行本地执行、渲染和展现。
web应用程序
处于服务端的业务逻辑是web应用的核心。
数据库
是web应用存储数据的地方,数据层也做为web应用程序多级结构中的最后一层。java
针对浏览器和终端用户的Web浏览器安全威胁
具体包括以浏览器渗透为核心的网页木马,Phishing网站钓鱼等。
针对传输网络的网络协议安全威胁
针对HTTP明文传输协议的敏感信息监听,在网络层。传输层和应用层都存在的假冒身份攻击,以及拒绝服务攻击等。
系统层安全威胁
web站点的宿主操做系统存在的远程渗透攻击和本地渗透攻击威胁。
web服务器软件安全威胁
web服务器软件如IIS,Apache做为一种典型的网络服务,攻击者能够它们的漏洞对web服务器实施渗透攻击或者获取敏感信息。
web应用程序安全与威胁
程序员在使用ASP,PHP等脚本编程语言实现web应用程序时,因为缺少安全意识或是有着不良的编程习惯,最终致使web应用程序出现安全漏洞,从而被攻击者渗透利用,包括SQL注入攻击,XSS跨站脚本攻击等。
web数据安全威胁
web站点中在web应用程序后台存储的关键数据内容,以及web客户输入的数据内容,存在着被窃取,篡改及输入不良信息等威胁。mysql
SQL注入攻击原理
利用web应用程序数据层存在的输入验证不完善型安全漏洞实施的一类代码注入攻击技术。是因为用户输入没有被正确的过滤以消除SQL语言中的字符串转义字符。
原理是向web应用程序提供的用户输入接口输入一段惊心构造的SQL查询命令,攻击和利用不完善的输入验证机制,使得输入代码得以执行完成非预期的攻击操做行为。
SQL注入攻击步骤和过程
(1)发现SQL注入点
(2)判断后台数据库类型
(3)后台数据库中管理员用户口令字猜解
(4)上传ASP后门,获得默认帐户权限
(5)本地权限提高
(6)利用数据库扩展存储过程执行Shell命令程序员
一、BBQSql
这是一个Python编写的盲注工具,当检测可疑的注入漏洞时会颇有用,同时也是一个半自动工具,容许客户自定义参数。
二、DBPwAudit(数据库用户名密码枚举工具)
使用参考:破解SQLSever数据库:#./dbpwaudit -s IP -d master(数据库名) -D mssql(数据库类型) -U username(字典) -P password(字典)
破解MySql数据库:#./dbpwaudit.sh -s IP -d mysql(数据库名称) -D MySQL(数据库类型) -U username(字典) -P password(字典)
三、HexorBase
图形化的密码破解与链接工具,开源。
四、Jsql Injection
轻量级安全测试工具,能够检测SQL注入漏洞。跨平台、开源且免费将存在注入漏洞的URL贴进来便可进行相应的漏洞利用。
五、MDBTools
包括MDB-Export以及MDB-dump,mdb-parsecsv,mdb-sql,mdb-tables等子工具,
六、Orcal Scanner
用JAVA开发的Orcale评估工具。基于插件的结构,当前由两个插件能够作:web
Sid列举 口令测试 列举Oracle版本 列举帐号特权 列举帐号哈希 列举审计信息 列举口令策略 列举数据库连接
七、SIDGusser
针对Oracle的SID进行暴力枚举的工具。SID为Oracle链接字符串,经过实例名+用户+密码链接
八、SqIDICT
又一个用户名密码枚举工具,经过Wine运行。sql
一、Sqlsus
开源代码MySQL注入和接管工具,使用perl编写,基于命令行界面。sqlsus能够获取数据库结构,注入本身的SQL语句,从服务器下载文件,爬行web站点可写目录,上传控制后门,克隆数据库等等。特色注射获取数据速度很是快,自动搜索可写目录。
二、sqlninja
是一款perl编写的专门针对Microsoft SQL Server的sql注入工具。和市面上其余注入工具不一样,sqlninja没有将精力用在跑数据库上,而是侧重于得到一个shell。
优势:专门针对Microsoft SQL Server的sql注入工具;能够找到远程SQL服务器的标志和特征(版本、用户执行的查询、身份验证模式等);sa口令的强力攻击,找到口令后,就将特权提高到“sa”;若是原始的xp_cmdshell被禁用,就建立一个定制的xp_cmdshell
三、SQLmap
开源的渗透测试工具,主要用于自动化的侦测和实施SQL注入攻击以及渗透收据库服务器,SQLmap拥有强大的侦测引擎,适用于高级渗透测试用户,能够得到不一样数据库的指纹信息,还能够从数据库中提取数据,处理潜在的文件系统以及经过带外数据链接执行系统命令。shell
经过应用代理分析数据包或修改数据包重放、暴力攻击等在WEB安全测试中常常用到。
一、Burp Suite
用于攻击web应用程序的集成平台,它有一个代理,经过默认端口8080上运行,使用这个代理,咱们能够截获并修改从客户端到web应用程序的数据包。
二、OWASP ZAP
一款查找网页应用程序漏洞的综合类渗透测试工具。
三、VEGA
开源的web应用程序安全测试平台,Vega能帮助验证SQL注入、跨站脚本(XSS)、敏感信息泄露和其余一些安全漏洞。Vega使用java编写,有GUI,能够在多平台下运行。Vega相似于Paros Proxy, Fiddler, Skipfish and ZAproxy。
四、Paros
是一个对web应用程序的漏洞进行评估的代理程序,是一个基于Java的web代理程序,能够评估web应用程序的漏洞。数据库
Web应用程序集成攻击平台,包含了一系列的burp工具,工具中有大量接口能够相互通讯,从而提升整个攻击的效率。平台中全部工具共享同一个robust框架,以便统一处理HTTP请求,持久性认证,上游代理,日志记录,报警和可扩展性。
Burp Suite容许攻击者结合手工和自动技术去枚举、分析、攻击web应用程序。这些不一样的burp工具协同合做,有效的分享信息,支持以某种工具中的信息做为基础提供另外一种工具使用的方式发起攻击。
Proxy提供直观、友好的界面,它的代理服务器包包含详细的拦截规则,并能准确的分析HTTP消息的结构与内容。
Spide爬行蜘蛛工具,能够用来抓取目标网站,以显示网站内容、基本结构,和其余功能。
Scnner Web应用程序的安全漏洞进行自动发现工具。它被设计用于渗透测试,适应执行手动和半自动化的Web应用程序渗透测试。
Repeater 是都从新发送单个HTTP请求。
编程
一、Bed.pl
Bed是一个纯文本协议Fuzz工具,可以检查常见的漏洞,如缓冲区溢出漏洞,格式串漏洞,整数溢出等。使用参数以下,可选择针对不一样协议的插件。
二、Fuzz_ipv6
THC出品的针对IPV6协议的模糊测试工具
可是在Fuzzing工具集中没有找到这个工具。
三、Ohrwurm
四、Powerfuzzer
BurpSuit等Web代理工具也具备相应Fuzz能力。
五、Wfuzz
针对Web应用的模糊测试工具,能够进行Web应用暴力猜解,也支持对网站目录、登陆信息、应用资源文件等的暴力猜解,还能够进行get及post参数的猜解,sql注入、xss漏洞测试等。该工具全部功能依赖于字典。
六、SFuzz:Simple-Fuzzer
后端
在这次学习中,只要学习了Kali漏洞分析的一些软件的使用,有些程序运行的还挺流畅,可是有些程序运行的就有点卡,例如BurpSuit,在运行次软件过程当中,加之电脑使用的时间过长,已经用了六七年,可以勉强运行虚拟机已然是个奇迹,在运行BurpSuit时,就会变得特别卡,运行程序也特别慢。另外,视频中的有些软件在本身的虚拟机中并无找到,例如Fuzz_ipv6,视频中显示是在Fuzzing工具集中,但我从Fuzzing工具集中并无找到,多是因为版本的问题吧。浏览器
学习了课本第11、十二章,视频的内容也进行了相应的学习与操做。