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