20169214 2016-2017-2 《网络攻防实践》第五周学习总结
教材学习内容总结
第十一章要点总结:
- 要点1:Web应用体系结构包括:浏览器、Web服务器、Web应用程序、数据库和传输协议HTTP/HTTPS。现代Web应用的核心是处于服务器短的业务逻辑,即Web应用程序。Web应用程序的流行取决于浏览器的普遍应用。
- 要点2:Web应用各个层次上,目前最薄弱的环节是Web应用程序,被发现有15类安全弱点和34种攻击技术手段。针对此最流行的2中攻击手段是SQL注入和XSS跨站脚本。
- 要点3:SQL注入利用的是Web应用程序数据层存在的输入验证不完善型安全漏洞。这种攻击需要大量的请求URL尝试和相应判断,才能找出可以实施攻击的注入点,以及猜测出Web应用程序用户账号和口令;而XSS跨站脚本攻击与SQL注入不同,最终目标不是提供服务的Web应用程序,而是使用Web应用程序的用户(即前者是帮凶,后者才是受害者),它的漏洞是存在与Web应用程序中。XSS攻击包括两种主要的类型——持久性XSS漏洞和非持久性XSS漏洞,另外,还有一种基于DOM的XSS漏洞,是存在于客户端的XSS漏洞及攻击技术。
第十二章要点总结:
- 要点1:软件安全困境三要素:复杂性、可扩展性、连通性。现代Web浏览器是最突出的可扩展性支持的软件类型。
- 要点2:Web浏览端的沉头攻击威胁——网页木马,是Web浏览器的最大安全威胁之一。通常以网页脚本语言如JavaScript、VBScript实现,属于被动式攻击。
- 要点3:网页木马发展与流行的驱动力是黑客地下经济链;存在的技术基础是Web浏览端安全漏洞;核心本质是浏览器渗透攻击。
- 要点4:网页木马安全威胁出现并一直存在的原因有三个:经济层面有利益所驱动的地下经济链;技术层面在大量互联网用户主机上存在的Web浏览端安全漏洞;根源是Web浏览端软件中存在的安全漏洞。
教材实践
- SQL注入实验
- 首先,实验环境是SEED Ubuntu镜像。实验需要三样东西,Firefox, apache, phpBB2(镜像中已有): ①运行Apache Server:镜像已经安装,只需运行命令%sudo service apache2 start ②phpBB2 web应用:镜像已经安装,通过http://www.sqllabmysqlphpbb.com访问,应 用程序源代码位于/var/www/SQL/SQLLabMysqlPhpbb/ ③配置DNS:上述的URL仅仅在镜像内部可以访问,原因是我们修改了/etc/hosts 文件使http://www.sqllabmysqlphpbb.com指向本机IP 127.0.0.1。如果需要在其他机器访 问,应该修改hosts文件,使URL映射到phpBB2所在机器的IPo
- 然后,关闭对抗措施 PHP提供了自动对抗SQL注入的机制,被称为magic quote,我们需要关闭它。 1.找到/etc/php5/apache2/php. ini 2.找到magic_quotes_gpc = On这一行 3.改为magic_quotes_gpc=Off 4.重启Apache: "sudo service apache2 restart"
- 实际操作 (因网页暂时打不开,正在解决中)
- XSS攻击实验
- 实验环境和配置与SQL基本一致,只是访问的网页地址不一样。
问题和解决过程
- 问题1:进行SQL注入和XSS攻击实验时,网页打不开,显示无法访问。
- 解决方法:
- 问题2:安装SEED Ubuntu 后,鼠标无法正常使用,不稳定,因此也打不开任何界面。
- 解决方法:安装VMTools,解决鼠标性能。
视频学习内容总结
漏洞分析之数据库评估
首先,WEB层与数据库连接的漏洞存在很多,例如SQL注入漏洞。因此,注重数据可评估工具尤为重要。Kali Linux下的评估工具有以下几种:
- BBQSql 这是一个盲注工具,由Python编写,善于检测可疑的注入漏洞。同时又是一个半自动工具,允许客户自定义参数。 如上图,如果要设置http参数,则输入1;若设置url,则输入3;若设置cookies内容,则输入2
- DBPwAudit(数据库用户名密码枚举工具) 使用方式: 破解SQLServer数据库: 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 与DBPwAudit相似,都可以密码破解,但它还有数据库连接的功能,可以连接并控制数据库执行一些语句。更实用。 如上图,打开HexorBase后,在最下方有一个功能,可以暴力枚举用户名、密码,而且同样支持四种数据库。
- Jsql Injection 由Java编写,是一种轻量级安全测试工具,可以检测SQL注入漏洞。它跨平台、开源、且免费。将存在的注入漏洞的URL帖进来即可进行响应的漏洞利用。可以很方便的查看数据库内容,以及读写数据。
- MDBTools 包括MDB-Export、MDB-Dump、mdb-parsecsv、mdb-sql、mdb-tables等子工具。
- Oracle Scanner 基于插件结构,是一个用java开发的Oracle评估工具。
- SIDGuesser 也是针对Oracle的SID进行暴力枚举的工具。(SID为Oracal实例名,Oracle连接字符串,通过实例名+用户+密码连接)
- SqlDICT 也是用户名密码枚举工具,通过Wine运行。
- Sqlsus MySQL注入和接管工具。使用perl编写,基于命令行界面;可以获取数据库结构,注入自己的SQL语句,从服务器下载文件,爬行web站点可写目录,上传和控制后门、克隆数据库等。 最好用的两点就是注射获取数据速度快和自动搜索可写目录,后者也是其最大的特点。 用法:首先通过-g生成一个配置文件: 然后编写配置文件,可设置url和cookie等。例如:将存在注入点的语句插入“our $url_start”后面: 启动并且测试:
sqlsus test.conf
获取数据库数据:sqlsus> get databases
查看全部数据库名字:[+] Getting databases names
设定数据库:set - Sqlninja 专门针对SQL Server的sql注入工具,没有将精力用在跑数据库上,而是侧重于获得一个shell。
- Sqlmap sql注入方面的神器。主要用于自动化侦测和实施SQL注入攻击以及渗透数据库服务器。
漏洞分析之Web应用代理
web应用代理工具的作用:分析数据包、修改数据包重放、暴力攻击等。
- Burp Suite 它是用于攻击web应用程序的集成平台。并带有一个代理,通过默认端口8080运行,通过此代理可以截获并修改从客户端到web因公程序的数据包。 如上图,代理监听是127.0.0.1,端口号是8080.通过Preferences -> Advanced -> Network -> Connection Setting 设置代理的url和端口: 设置成功后,Proxy和Intercept部分会变成黄色。此时访问百度,输入一个url“www.baidu.com”后,burpSutes会得到一个请求包。 点击Forward就可以继续访问。
- OwaspZAP 是攻击代理,又是会话类调试工具(调试功能对网站不会发起大量请求,对服务器影响较小)。 另外,它还是一款查找网页应用程序漏洞的综合类渗透测试工具。包含了拦截代理、自动处理、被动处理、暴力破解、端口扫描、以及蜘蛛搜索等功能。
漏洞分析之Fuzzing工具集
- Beb.pl 使用:
bed -s FTP -t 192.168.110.139 -p 21 -o 5
说明:-s参数后面加一个插件(例如FTP),-t跟一个地址,-p跟端口号(FTP为21),-o表示time out。 - PowerFuzzer:有图形化的工具
- Wfuzz 针对WEB应用的模糊测试工具,可以进行web应用暴力猜解,也支持对网站目录、登录信息、应用资源文件等的暴力猜解,还可以进行get及post参数的猜解、sql注入、xss漏洞的测试等等。 该工具所有功能都依赖于字典。常被用作目录扫描的工具。比BurpSuite相比更轻量级,更高效,用命令行即能完成。 另外,参数中FUZZ相当于一个变量,用字典中的字段替换它来完成猜解。
- Xsser 有命令行版和一个图形化界面。输入命令:
xsser --gtk
即可进入到图形化界面中,如下: 命令行版如下: 主要是对页面或一个点进行XSS 测试,判断是否有XSS漏洞。以DVWA测试为例:
上周考试错题总结
- Snort具有强大的网络分析功能,但同时也支持基本的网络数据嗅探功能。
学习进度条
教材学习 | 视频学习 | 博客量(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 12章 | 20篇 | ||
第一周 | 《Linux基础入门》 | 1/1 | 初识Linux,并学会使用博客园、码云、实验楼的学习平台 | |
第二周 | 第一、二章 | 5个kali视频 | 2/3 | 了解了网络攻防技术的基本情况和实验环境 |
第三周 | 第三章 | 5个kali视频 | 1/4 | 深入学习了kali linux下的几种重要工具 |
第四周 | 第四章 | 5个kali视频 | 1/5 | 学习网络嗅探和协议分析,了解漏洞分析阶段的几种重要工具 |
第五周 | 第11、12章 | 5个kali视频 | 1/6 | 学习了web应用程序和web浏览器的安全攻防,并继续学习工具 |
参考资料
《网络攻防技术与实践》教材
kali视频