20179214 《网络攻防实践》第五周学习
web应用程序体系结构及其安全威胁
web应用程序体系结构
- 浏览器
标准的web客户端, - Web服务器
通常被简单的描述为http守护程序,接受web客户端对资源的请求。 - Web应用程序
是处于服务器端的业务逻辑,最普遍的是三层,表示层,业务逻辑层,数据层组成, - 数据库
是存储数据的地方。 - 传输协议
采用的http/https的协议
Web应用安全威胁
- 针对浏览器和终端用户的Web浏览安全威胁
- 针对传输网络的网络协议安全威胁
- 系统层安全威胁
- Web服务器软件安全威胁
- Web应用程序安全威胁
- Web数据安全威胁
Web应用安全攻防技术概述
Web应用的信息收集
包括服务器地址,ip地址和虚拟地址。
- 手工审查Web应用程序结构和源代码
(1) 静态和动态生成的页面
(2)目录结构
(3)辅助性文件
(4)输入表单
(5)查询参数字符串 - 自动下载与镜像web站点页面
Linux下的工具有lynx,wget。windows下也有Teleport Pro等工具 - 使用googlehacking技术审查与探测Web应用程序。
- web应用程序安全评估与漏洞探测
浏览器插件
免费工具集
漏洞扫描器
攻击web服务器软件
- 数据驱动的远程代码执行安全漏洞
- 缓冲区溢出,不安全指针,格式化字符串等一系列数据驱动安全漏洞的远程渗透攻击。
- 服务器功能扩展模块漏洞
- 样本文件安全漏洞
- 源代码泄露
- 资源解析攻击
攻击WEB应用程序
- web应用程序攻击角度
(1)针对认证机制的攻击
(2)授权机制的攻击
(3)客户端攻击
(4)命令执行攻击
(5)信息暴漏
(6)逻辑攻击 - 攻击web数据
(1) 安全敏感数据泄露
(2) 网站篡改
(3) 不良信息内容上传 - web应用安全防范手册
(1) web站点网络传输安全设防措施
(2) web站点操作系统及服务安全设防措
(3) web应用程序安全设防措施
(4) web站点数据安全设防措施
SQL注入
SQL注入攻击原理
利用web应用程序数据层存在的输入验证不完善型安全漏洞实施的一类代码注入攻击技术。是由于用户输入没有被正确的过滤以消除SQL语言中的字符串转义字符。
原理是向web应用程序提供的用户输入接口输入一段惊心构造的SQL查询命令,攻击和利用不完善的输入验证机制,使得输入代码得以执行完成非预期的攻击操作行为。
SQL注入攻击步骤:
1 发现SQL注入点
2 判断后台数据库类型
3 后台数据库中管理员用户口令字猜解猜解表名猜解字段名
4 上传ASP后门,得到默认账户权限
5 本地权限提升
6 利用数据库扩展存储过程执行Shell命令
2. SQL 注入攻击工具
Wposion 能在动态web文档中找出SQL注入漏洞
wieliekoek.pl 以网站镜像工具生成的输入为输出,对表单页面注入字符串修改
SPIKE Proxy 对待注入的字符串进行定制
SPI Toolkit工具包
Web浏览器安全攻防
XSS跨脚本攻击
XSS跨站脚本攻击的最终目标不是提供服务的web应用程序,而是使用web应用程序的用户。
1、XSS攻击技术原理
XSS攻击的根源同样是web应用程序对用户输入内容的安全验证与过滤不够完善,一旦web应用程序对输入的合法性进行有效检查与过滤,就很有可能让这些恶意代码逻辑包含在服务器动态产生或更新的网页中。
2、XSS攻击类型
持久性XSS漏洞--持久性XSS攻击。
最为严重的XSS漏洞,又称为存储性XSS漏洞。
非持久性XSS漏洞--非持久性XSS 攻击
最为普遍的类型,由于缺乏恰当的请求数据安全验证与过滤
3、XSS攻击实例
(1)测试XSS漏洞
(2)显示用户的会话Cookie
(3)窃取用户的会话Cookie
(4)利用Cookie信息假冒其他用户发表与修改帖子
(5)编写实现XSS蠕虫
4、XSS攻击防范措施
(1)服务器端防范措施
输入验证
输出净化
消除危险的输入点
(2)客服端防范措施
提高浏览器访问非受信网站时的安全等级、关闭Cookie功能或设置Cookie只读。
软件安全困境三要素:复杂性、可扩展性、连通性。浏览器软件面临着严重的威胁。
Web浏览器的渗透攻击威胁 网页木马
- 网页木马存在的技术基础:Web浏览端安全漏洞。
- 网页木马的本质核心——浏览器渗透攻击。
- 网页挂马机制,最主要的有如下四类策略:内嵌HTML标签、恶意Script脚本、内嵌对象连接、ARP欺骗挂马。
- 网页木马的检测与分析方法:基于特征码匹配的传统检测方法、基于统计与机器学习的静态分析方法、基于动态行为结果判定的检测分析方法、基于模拟浏览器环境的动态分析检测方法、网页木马检测分析技术综合对比。
kali视频学习
Kali数据库评估的漏洞
BBQSQL
BBQSQL是半自动工具,允许许多难以触发的SQL注入变得用户化。
DBPwAudit
./dbpwaudit -s IP -d master(数据库名称) -D mssql(数据库类型) -U username -P password
HexorBase
jSQL
jSQL是一款Java开发的轻量级远程服务器数据库注入漏洞测试工具,且免费、开源、跨平台 (Windows, Linux, Mac OS X, Solaris)。将存在注入漏洞的URL贴进去即可进行响应的漏洞利用。使用效果需要改善
MDBTools
MDB-Export,以及MDB-Dump,mdb-parsecsv,mdb-sql,mdb-tables
Oracle Scanner
SIDGuesser
针对Oracle的SID进行暴力枚举的工具。
SID为Oracle实例名,Oracle连接字符串,通过实例名+用户+密码连接。当用户希望远程连接Oracle数据库时,则需要知道SID、用户名、密码及服务器的IP地址。
Kali数据库评估工具
Sqlsus
首先使用sqlsus -g test.conf生成一个配置文件。修改our $url_start = “ ”,引号里写入输入注入点,使用sqlsus test.conf命令加载该文件,实施渗透测试。
sqlninja
一款Perl编写的一个专门针对microsoft SQL server的SQL注入工具,和市面上其他的注入工具不同,sqlninja没有将精力用在跑数据库上,而是侧重于获得一个shell。
Sqlmap
漏洞分析之Web应用代理
OwaspZAP
paros proxy
WebScarab
Vega
Burpsuite使用
可以进行重放攻击,等一系列操作