20179203 2017-2018-2 《网络攻防实践》第5周学习总结
教材学习内容总结
web应用体系结构面临的安全威胁:
针对浏览器和终端用户的web浏览安全威胁,针对传输网络的网络协议安全威胁,web服务器软件安全威胁漏洞,web应用程序安全威胁,web数据安全威胁。
web应用信息收集:
使用多种手段,对目标web应用服务进行发现与剖析,标识出它的基本轮廓,具体包括服务器域名、IP地址和虚拟IP地址,web服务器端口和其他开放服务,web站点类型和版本,web应用程序类型与版本,以及web服务器和web应用程序中存在的安全漏洞信息等。
在web应用的各个层次上,目前安全最薄弱的环节在于web应用程序。原因在于web应用程序开发过程快,编码质量和测试水平低,同时web应用程序自身的复杂性和灵活性进一步恶化了它们的安全性。
对web应用程序的主流攻击技术有SQL注入和XSS跨站脚本攻击。
web浏览器软件的安全困境三要素:
复杂性-web浏览器软件由于需要支持多种类型的应用层协议内容,还要符合多种页面标准规范,支持多种客户端执行环境,满足大量用户的浏览需求,已经变得复杂庞大,导致了存在着大量可被攻击利用的漏洞。
可扩展性-支持第三方插件扩展机制,第三方扩展插件出现漏洞的情况极为普遍。
连通性—浏览器软件始终工作在联网状态,很容易被利用和攻击。
教材作业实践
1、SEED SQL注入实验
(1)运行 Apache Server
(2)phpBB2 web 应用
(3) 配置 DNS
(4)注入实验
2、SEED XSS攻击实验
(1)攻击测试是否存在XSS漏洞
''
存在漏洞。
(2)利用该漏洞获取cookies
''
得到cookies
视频内容学习
1、kali漏洞分析之数据库评估
web层与数据库连接的漏洞在安全测试中并不少见,OWASP曾经的top10之首:SQL注入漏洞也是因此产生。
(1)BBQSQL
BBQSQL是一个Python编写的盲注工具(blind SQL injection framework),当检测可疑的注入漏洞时会很有用。同时BBSQL是一个半自动的工具,允许客户自定义参数。
(2)DBPwAudit(数据库用户名密码枚举工具)
(3)HexorBase
图形化的数据库密码破解与数据库连接工具,开源。
如下图显示数据库的表的信息。
点击bruteforce database servers暴力枚举用户名和密码。
(4)JSQL
Java编写的,针对SQL注入的应用。
在探测发现注入点后,可以用jsql图形化的查看内容。
(5)MDBTOOLS
工具套装
(6)oscanner
是一个用Java开发的
(7)SIDGUesser
同样是针对Oracle的SID进行暴力枚举的工具。SID为Oracle实例名,Oracle连接字符串,通过实例名+用户+密码连接
(8)sqldict
windows下的程序,用wine模拟。
(9)tnscmd10g
允许向Oracle数据库注入数据。
-p 端口号
--logfile 写一个日志
(10)sqlsus
如何注入语句:
sqlsus -g test.conf 生成配置文件
vim test.conf 编辑配置文件
按照自己的目的输入相关目标,设置注入点。
(11)sqlninja
与sqlsus类似的是也需要将注入网址写在配置文件里,默认是sqlninja.conf。
(12)sqlmap
使用metasploitable自带的dvwa测试,默认登录用户名为admin,密码为password
web漏洞的训练平台,由存在漏洞的代码组成。
dvwa security设置为low。
使用sqlmap测试,需要cookies。
结果显示存在漏洞的语句。
--current-db 查看当前的数据库
--current-user 查看当前的用户
--dbs 当期存在的数据库
--user 当前的用户
--pass 当前用户的密码
--privilege 当前用户的权限
--tables -D dvwa 针对当前数据库dvwa查看表
--columns -T users -D dvwa 查看user表中的字段信息
--dump -C user,password -T users -D dvwa 查看user和password字段的值
--dump-all 指向某个表 dump所有内容
-r risk提高权限
--forms 表单
--os-cmd 系统命令
--os-shell 获取系统shell
--sql-shell 直接获取sqlshell,执行SQL语句,select load _file('/etc/password') 获取这个文件
2、kali漏洞分析之web应用代理
(1)burpsuite
(2)owasp zap
(3)paros
界面简单
(4)vega
扫描漏洞,代理功能。
(5)webscarab
3、kali漏洞分析之brupsuite
在proxy下的option设置拦截规则。
(1)配置监听端口,默认是8080。
对http://172.16.6.56/dvwa/login.php的监听结果。
(2)爬虫与扫描
访问网站,截获信息
(3)测试暴力破解表单账户密码
使用错误的用户名和密码登录dvwa
cluster bomb 依次读取字典的每一行
通常通过判断length的长度判断是否正确。
因暂时没有用户名和密码字典,没有详细做。
(3)Repeater改包重放模块
(4)Decoder
测试编码漏洞
(5)compare
比较文件是否有哪里不同
(6)extender
插件模块
4、kali漏洞分析之fuzz工具
模糊测试工具
(1)bed.pl
可以针对不同的协议使用不同的插件
-s 针对FTP协议,FTP参数
-t 目标IP地址
-p 目标端口
-o timeout
发送一连串畸形数据包,尝试使程序报错,进行判断
(2)fuzz_ipv6
(3)ohrwurm
简单的RIP模糊测试工具。对SIP通信的模糊测试。
(4)PowerFuzzer
(5)wfuzz
登录get请求,登录页面口令猜解,忽略404页面 wfuzz -c -z file,users.txt -z file,pass.txt -hc 404 http://www.site.com/log.asp?user=FUZZ&pass=FUZZ
页面数目猜解 wfuzz -c -z range,1-10 --hc=BBB http://www.site.com/FUZZ{something}
轻量
(6)SFuzz
(7)XSSer
针对XSS漏洞的挖掘,对一个页面或点进行xss测试,是否有XSS的漏洞
xsser -u "http://172.16.6.56/dvwa/vulnerabilities/xss_r/?name=" --cookie="PHPSESSID=9ddff1a2f16fb71dcce9b0633d4aa2a7;security=low" -v