1 教材11,12章的学习
web应用程序安全攻防
应用程序体系结构以及其安全威胁
1、三层架构:表示层、业务逻辑层和数据层 2、体系结构:浏览器、web服务器、web应用程序、数据库、传输协议HTTP/HTTPS 3、web应用安全威胁:针对浏览器和终端用户的web浏览安全、针对传输网络协议安全威胁、系统安全威胁、web应用程序安全威胁、web数据安全威胁。
web应用的安全攻防
web应用信息收集
1、手工审查web应用程序结构和源代码:静态和动态生成的页面、目录结构、辅助性文件、输入表单、查询参数字符串。 2、自动下载和镜像web站页面. 3、google hacking技术审查和探测web应用程序。 4、web应用程序安全评估与漏洞探测————辅助分析工具:浏览器插件、免费工具集、商业web应用安全评估系统和漏洞扫描器。
攻击web服务器软件
安全漏洞:数据驱动的远程代码执行安全漏洞、服务器功能扩展模块漏洞、样本文件安全漏洞、源代码泄漏、资源解析攻击
攻击web程序
web应用程序安全威胁:针对认证机制的攻击、授权机制、客户端攻击、命令执行攻击、信息暴露、逻辑攻击
攻击web数据内容
安全敏感数据泄漏、网站篡改、不良信息内容上传。
防范技术
1、web站点网络传输安全设防措施:HTTPS、加密的连接通道、静态绑定的MAC-TP映射。 2、web站点操作系统及服务安全设防措施:补丁更新、远程漏洞扫描、提升操作系统和服务安全性。3、web应用程序安全设防措施。4、web站点数据安全设防措施。
SQL注入
1、原理:向web应用提供的用户接口输入一段精心构造的SQL查询命令,攻击和利用不完善的输入机制,使得注入代码得以执行完成非预期的攻击操作行为。 2、步骤:发现SQL注入点、判断后台数据库类型、后台数据库中管理员用户口令字猜解、上传ASP后门、得到默认用户权限、利用数据库扩展存储过程执行shell命令 3、工具:wposion、wieliekoek.pl、SPItoolkit、HDSI等 4、防范措施:类型安全的参数编码机制、外部用户输入必须进行完备的安全检查、将动态SQL语句替换为存储过程,预编译SQL或ADO命令对象、加强SQL数据库服务器的配置和链接。
XSS攻击
1、攻击原理 2、工具类型:持久型、非持久型 3、测试和利用XSS漏洞步骤:测试XSS漏洞、显示用户会话cookie、窃取用户会话cookie、利用cookie信息假冒其他用户发表和修改帖子、编写实现XSS蠕虫。 4、防范措施:服务器端(输入验证、输出净化、消除危险输入点)、客户端(提升浏览器安全设置)
十二章是Web浏览器安全攻防。
通过介绍浏览器战争与技术的发展,引出了浏览器的安全问题与威胁:复杂性、可扩展性和连通性的安全困境三要素;和Web浏览安全威胁位置,包括网络安全、系统安全、Web浏览器软件安全和用户的社会工程学安全。之后主要介绍了网页木马,利用Web浏览器和插件中的安全漏洞,在客户端的主机系统中植入和运行各种旨在窃取敏感信息的恶意代码。最后介绍了不通过安全漏洞而是利用社会工程学欺骗技术构建的钓鱼网站,来诱使网民用户将有价值的信息拱手送给攻击者。通过介绍这几种Web浏览器的安全威胁,并针对的提出了防范技术。
2 kali视频15-20总结
数据库评估
1、BBQ.Sql:Python 盲注工具,检测可以的注入漏洞,半自动 2、DBPWAudit:(数据库用户名密码枚举工具)破解SQL.server数据库 3、HexorBase:图形化的密码破解数据连接工具,开源。4、jsql:java编写,轻量级,可检测SQL注入漏洞,跨平台,开源免费。缺点:有待改善。 5、MDBTools:包括MDB-Export、MDB-Dump、mdb-parsecsv、mdb.sql、mdb-tables。 6、Oracle Scanner:Java开发的oracle评估工具,基于插件的结构,SID列举,口令测试,列举Oracle版本,列举账号角色,列举账号特权,列举帐号哈希,列举审计信息,列举口令策略,列举数据库链接。 7、SIDGusser:针对Oracle的SID暴力枚举工具,SID为Oracle实例名,Oracle连接字符串,通过实例名+用户+密码连接 8、Sqldict:用户名密码枚举工具,通过wine运行(windows程序) 9、tnscmdlog:允许向Oracle注入命令 10、Sqlsus:perl编写,开源musql注入和接管工具,最好用的两点:注射获取数据速度非常快、自动搜索可写目录。过程:生成配置文件 sqlsus-g test.conf、编辑配置文件 vi test.conf、写入地址、启动测试 sqlsus test.conf。 11、sqlninja:perl编写,针对microsoft sql server,侧重于获得一个shell,高权限利用。特点:可找到远程sql服务器标志和特征,“sa”口令强行攻击,可定制新xp.cmdshell,不需要ftp连接,可针对sql服务器的tcp/udp端口扫描以找到防火墙允许端口,逃避技术,盲目执行攻击模式等。 12、sqlmap:python编写,用于自动化侦测和实施sql注入攻击以及渗透数据库服务器,强大的侦测引擎,可绕过WAF的tamper,修改UA的random.agent。
web应用代理
1、可分析数据包,修改数据包重放,暴力攻击等 2、BURPSUITE:攻击web应用程序的集成平台,Burpsuite带有一个代理,运行在默认端口8080上,可截获并修改客户端到web应用程序的数据包。 3、OwaspIAP:拦截代理,自动处理,被动处理,暴力破解,端口扫描以及蜘蛛搜索等。会话类调试工具,不会对网站发起大量的请求,对服务器影响小。 4、Pavos:基于JAVA的web代理程序,可评估web应用程序漏洞,检查漏洞形式:sql注入,跨站点脚本攻击,目录遍历等。 5、Proxystrike 6、vaga代理:可验证sql注入,跨站脚本,敏感信息泄漏及其它,java编写。 7、webscarab:基于GNV协议,JAVA编写,支持多平台。
Burpsuite
1、大量接口相互通信,高效,享有同一robust框架,可统一处理请求,工具之间相互协作,分享信息。2、proxy:代理服务器可设置一定拦截规则 3、spide:爬行蜘蛛抓取网站内容和基本结构,可列出网站中已获得的目录与文件以及引用到的其他网站。 4、scanner :web应用程序漏洞自动发现工具,用于渗透测试、5、reperter:可手动发送单个HTTP请求,改包重放模块,直观的该报提交,查看回显。 6、intruder:优势,自动实施各种定制攻击。资源枚举、数据提取、模糊测试等。 7、sequencer:随机键值的可预测性分析 8、decoder:转化成规范的形式编码数据(编码转换) 9、comparer:比较工具 10、插件模块
fuzz工具
1、模糊测试工具,发送一连串字符尝试使得程序报错进行判断。2、bed.pl:纯 文本协议,检查缓冲区溢出、格式串漏洞、整数溢出。bed -s FTP -t 地址 -p 端口21 -o 3、fuzz.ipv6:针对ipv6的工具 4、0hrwuwm:SIP通信 5、Powefuzzer 6、w-fuzz:针对web应用的模糊测试工具,可暴力猜解,轻量级,高效。 7、sfuzz 8、xsser:针对xss漏洞发掘。
#教材中遇到的问题及解决方法
在教材学习中遇到的问题
在第11章介绍了web应用的体系重要结构图,其中有浏览器,传输层,web服务器,后台数据库组成,其中提出 了mysql数据库。
对mysql数据库不了解,通过查资料,及先关实践,了解了mysql.
运行install安装,继续下一步。
下面的是MySQL安装的图解,用的可执行文件安装的,双击解压缩,运行“setup.exe”,出现如下界面
根据链接http://jingyan.baidu.com/article/4b07be3c67853c48b380f311
根据一步步提示即可安装完毕,在网上找到了相关数据库的资源,进行命令行下的操作练习
下载的数据资源,在命令行下查看数据库的表格内容,后台数据在命令行中显示。
直观的可以显现出数据库的内容。
尝试远程连接设置。
视频相关实践练习,出现的问题解决过程
BurpSuite是用于攻击web 应用程序的集成平台。它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程。所有的工具都共享一个能处理并显示HTTP 消息,持久性,认证,代理,日志,警报的一个强大的可扩展的框架。BurpSuite能高效率地与单个工具一起工作,含如下工具箱:
1.Proxy是一个拦截HTTP/S的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,允许你拦截,查看,修改在两个方向上的原始数据流。
2.Spider是一个应用智能感应的网络爬虫,它能完整的枚举应用程序的内容和功能。
3.Scanner[仅限专业版]——是一个高级的工具,执行后,它能自动地发现web 应用程序的安全漏洞。
4.Intruder是一个定制的高度可配置的工具,对web应用程序进行自动化攻击,如:枚举标识符,收集有用的数据,以及使用fuzzing 技术探测常规漏洞。
5.Repeater是一个靠手动操作来补发单独的HTTP 请求,并分析应用程序响应的工具。
6.Sequencer是一个用来分析那些不可预知的应用程序会话令牌和重要数据项的随机性的工具。
7.Decoder是一个进行手动执行或对应用程序数据者智能解码编码的工具。
8.Comparer是一个实用的工具,通常是通过一些相关的请求和响应得到两项数据的一个可视化的“差异”。
Burpsuite开始界面,首先可以看到
配置监听端口,在kali中打开BurpSuite,选中Proxy,选择Intercept is on
打开web浏览器,选择edit->Preferences->Advanced->Network->Settings,并做如下设定
进行百度搜索,并尝试登陆我的qq邮箱,账号为1174015268密码******,然后登陆了
打开Burpsuite,可见数据包
随着浏览量的增大,数据包越来越多
找到登陆qq邮箱时的数据包,账号可以显现
转入inturder中,
转入Repeater改包重放
compare模块
Decoder模块
responder模块
下表中的乱码问题尚未解决
Hexobase实践
学习进度
学习了教材第11,12章,视频学习了第16-20。了解了web结构图体系,对网络网络系统等方面又有了进一步的认识,安装了数据库软件,对后台数据库有了进一步的了解。实践了视频的工具,重点是BURPSUITE,SQLMAP。
学习出现的问题
教材中有很多不清晰的知识点,数据库有了进一步的认识。实践过程中的问题还需要加强练习。
周次 | 教材学习 | 视频学习 | 博客累计 |
---|---|---|---|
第一周 | 实验楼 | 实验楼 | 1/1 |
第二周 | 教材1,2章 | kali1-5 | 2/2 |
第三周 | 教材第3章 | kali6-10 | 3/3 |
第四周 | 教材第4章 | kali11-15 | 4/4 |
第五周 | 教材第11,12章 | kali16-20 | 5/5 |