zoukankan      html  css  js  c++  java
  • 20189315《网络攻防实践》第五周作业

    a.教材学习总结

    一.Web应用程序安全攻防

    1.Web应用程序体系结构及其安全威胁
    Web应用体系结构包括浏览器,Web服务器,Web应用程序,数据库。
    浏览器和由Web服务器、Web应用程序和数据库所构成的Web站点之间的通信传输协议是HTTP/HTTPS协议。
    Web应用安全威胁:针对浏览器和终端用户的Web浏览安全威胁,针对传输网络的网络协议安全威胁,系统层安全威胁,Web服务器软件安全威胁,Web应用程序安全威胁,Web数据安全威胁。
    2.Web应用安全攻防技术
    Web应用的信息收集,针对Web应用程序的探测和漏洞发现的技术方法:手工审查Web应用程序结构与源代码、自动下载与镜像Web站点页面、使用Google Hacking技术审查与探测Web应用程序、Web应用程序安全评估与漏洞探测。
    攻击Web服务器软件,Web服务器平台中的安全漏洞主要有:数据驱动的远程代码执行安全漏洞、服务器功能扩展模块漏洞、样本文件安全漏洞、源代码泄露、资源解析攻击。
    攻击web应用程序(6类):针对认证机制的攻击、授权机制的攻击、客户端攻击、命令执行攻击、信息暴露、逻辑攻击。
    攻击Web数据内容,具体包括安全敏感数据泄露、网站内容遭受篡改和不良信息内容上传。
    针对上述各种类型Web应用安全威胁、信息收集和攻击技术手段,应设计、部署和实施安全防护措施:Web站点网络传输安全设防措施、Web站点操作系统及服务安全设防措施、web应用安全设防措施、web站点数据安全设防措施。
    3.SQL注入
    SOL注入是利用Web应用程序数据层存在的输入验证不完善型安全漏洞试试的一类代码注入攻击技术。其攻击原理是向Web应用程序提供的用户输入接口输入一段精心构造的SQL查询命令,攻击和利用不完善的输入验证机制,使得注入代码得以执行完成非预期的攻击操作行为。
    SQL注入攻击步骤:发现SQL注入点;判断后台数据库类型;后台数据库中管理员用户口令字猜解;上传ASP后门,得到默认账户权限;本地权限提升;利用数据库扩展存储过程执行Shell命令。
    SQL注入攻击防范措施:使用类型安全的参数编码机制;凡是来自外部的用户输入,必须进行完备检查;将动态SQL语句替换为存储过程、预编译SQL或ADO命令对象;加强SQL数据库服务器的配置与连接。
    4.XSS跨站脚本攻击
    XSS跨站脚本攻击的最终目标是使用Web应用程序的用户。XSS跨站脚本漏洞有两种类型:持久性XSS漏洞和非持久性XSS漏洞。前者是危害最为严重的XSS漏洞。
    XSS攻击防范措施:(1)服务器端防范措施:输入验证、输出净化、消除危险的输入点。(2)客户端防范措施:提高浏览器访问非受信网站时的安全等级、关闭cookie功能等。

    二.WEB浏览器安全攻防

    Web浏览器是目前互联网用户最常用的客户端软件,可以帮助用户浏览Web服务器上的文件,并让用户与这些文件进行交互,在Web浏览器的帮助下,互联网用户能够迅速及轻易地浏览万维网上文字、图像、视频等各种形态的信息内容,以及访问各种形式与用途的Web应用程序。
    Web浏览器软件的安全困境三要素:复杂性、可扩展性、连通性。
    Web浏览端的渗透攻击威胁———网页木马
    网页木马存在的技术基础——Web浏览端安全漏洞

    网页木马的本质核心——浏览器渗透攻击
    网页挂马机制,最主要的是有以下四类策略:内嵌HTML标签;恶意Script脚本;内嵌对象链接;ARP欺骗挂马。
    网页木马的检测与分析技术:基于特征码匹配的传统检测方法;基于统计与机器学习的静态分析方法;基于动态行为结果判定的检测分析方法;基于模拟浏览器环境的动态分析检测方法。

    b.Kali视频学习

    Kali漏洞分析之数据库评估(一)

    1.BBQSql是一个Python编写的盲注工具,当检测可疑的注入漏洞时会很有用。同时BBQSQL是一个半自动工具,允许客户自定义参数。
    2.DBPwAudit(数据库用户名密码枚举工具)使用参考:

    #./dbpwaudit -s IP -d master(数据库名) -D mssql(数据库类型) -U username(字典) -P password(字典)
    
    #./dbpwaudit.sh -s IP -d mysql(数据库名) -D MySQL(数据库类型) -U username(字典) -P password(字典)
    

    3.HexorBase:图形化的密码破解与连接工具,开源。

    4.Jsql Injection:是一款轻量级安全测试工具,可以检测SQL注入漏洞。它跨平台(Windows,Linux,MAC,),开源且免费。将存在注入漏洞的URL贴进来即可进行相应的漏洞利用。图形化界面比较亲民。

    5.MDBTools包括MDB-Export,以及MDB-Dump,MDB-parsecsv等子工具,具体环境具体使用。
    6.Oracle Scanner:是一个用Java开发的Oracle评估工具。它是基于插件的结构。

    7.SIDGusser:针对Oracle的SID进行暴力枚举的工具。

    8.SqlDICT:一个用户名密码枚举工具,通过Wine运行。

    Kali漏洞分析之数据库评估(二)

    1.tnscmd10g

    2.Sqlsus:一个开放源代码的MySQL注入和接管工具,sqlsus使用perl编写,基于命令行界面。Sqlsus可以获取数据库结构,注入自己的SQL语句,从服务器下载文件,爬行web站点可写目录,上传和控制后门,克隆数据库等。最好用的两点就是注射获取数据速度非常快,另外一个最大的特点就是自动搜索可写目录。
    !

    3.SQL ninja:一款Perl编写的一个专门针对microsoft SQL server的SQL注入工具,和市面上其他的注入工具不同,sqlninja没有将精力用在跑数据库上,而是侧重于获得一个shell。

    4.Sqlmap:是一个开源的渗透测试工具,它主要用于自动化的侦测和实施SQL注入以及渗透数据库服务器,SQLMAP配有强大的侦测引擎,适用于高级渗透测试用户,不仅可以获得不同数据库的指纹信息,还可以从数据库中提取数据,此外还能够处理潜在的文件系统以及通过带外数据连接执行系统命令等。

    Kali漏洞分析之Web应用代理

    1.Burp Suite:用于攻击web应用程序集成平台。Burp Suite 通过默认端口8080上运行,使用这个代理,可以截获并修改从客户端到web应用程序的数据包。
    Proxy代理模块作为BurpSuite的核心功能,拦截HTTP/S的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,允许你拦截,查看,修改在两个方向上的原始数据流。

    2.OwaspZAP:攻击代理,是一款查找网页的应用程序漏洞综合渗透测试工具。包含拦截代理,被动处理,暴力破解,端口扫描,以及蜘蛛搜索等功能。OwaspZAP为会话类调试工具,调试功能对网站不会发起大量请求,对服务器影响较小。
    3.paros:一个对Web应用程序的漏洞进行评估的代理程序,即一个基于Java的web代理程序,可以评估Web应用程序的漏洞。它支持动态地编辑/查看 HTTP/HTTPS,从而改变cookies和表单字段等项目。它包括一个Web通信记录程序,Web圈套程序(spider),hash 计算器,还有一个可以测试常见的Web应用程序攻击(如SQL注入式攻击和跨站脚本攻击)的扫描器。该工具检查漏洞形式包括:SQL注入、跨站点脚本攻击、目录遍历等。

    Kali漏洞分析之Burp Suite

    Burp Suite用于攻击web应用程序的集成平台,它带有一个代理,通过默认端口8080运行,使用这个代理,可以截获并修改从客户端到web应用程序的数据包。它包含了一系列burp工具,这些工具之间有大量接口可以互相通信。平台中所有工具 共享一robust框架,以便统一处理HTTP请求。它允许工具者结合手工和自动技术去枚举、分析、攻击web应用程序。

    Proxy提供一个直观、友好的用户界面,它的代理服务器包含非常详细的拦截规则,并能准确分析HTTP消息的结构与内容。
    Spide爬行蜘蛛工具可以用来抓取目标网站,以显示网站的内容,基本结构和其他功能。
    Scanner Web应用程序的安全漏洞进行自动发现工具。它被设计用于渗透测试,并密切与现有的技术和方法,以适应执行手动和半自动化的Web应用程序滲透测试
    Repeater 可手动重新发送单个HTTP请求。
    Intruder 是burp套件的优势,提供一组特别有用的功能。它可以自动实施各种定制攻击,包括资源枚举、数据提収、模糊测试等常见漏洞等。在各种有效的扫描工具中,它能 够以最细化、最简单的方式访问它生产的请求与响应,允许组合利用个人智能与该工具的控制优点。
    Sequencer 对会话令牌,会话标识符或其他出于安全原因需要随机产生的键值的可预测性进行分析。
    Decoder 转化成规范的形式编码数据,或转化成各种形式编码和散列的原始数据。它能够智能识別多种编码格式,使用启发式技术。
    Comparer 执行比较数据之间的任何两个项目。在攻击一个Web应用程序的情况下,这一要求通常会出现当你想快速识别两个应用
    程序的响应之间的差异(例如,入侵者攻击的过程中收到的两种反应之间之间,或登录失败的反应使用有效的和无效的用户名)之间,或两个应用程序诘求(例如,确定不同的行为引 起不同的请求参数)。

    Kali漏洞分析之Fuzz工具

    Fuzz工具是一个模糊测试工具。模糊测试是一种介于完全的手工渗透测试与完全的自动化测试之间的安全性测试类型,是一种通过向目标系统提供非预期的输入并监视异常结果来发现软件漏洞的方法。测试的基本思想就是通过向程序中输入大量的随机数据,然后观察输入这些数据之后程序的情况,记录下使程序发生异常的数据,从而判断程序是在那些地方发生了异常。 简言之,就是发送一连串可能畸形的数据包,尝试使程序报错,从而进行判断。
    1.Bed是一个纯文本协议的Fuzz工具,能够检查常见的漏洞,如缓冲区溢出,格式串漏洞,整数溢出等。BED通过加载插件,向目标主机发送攻击数据。如果发现目标无法响应,说明目标可能存在溢出区漏洞。经过多次测试验证,就可以判断漏洞出现的位置。然后通过手工执行验证,代码审核、反编译等方式,就可以找出漏洞具体触发机制,从而加以利用。

    2.ohrwurm:迷你的对RTP的fuzz工具,主要针对SIP通信的fuzz。

    3.PowerFuzzer

    4.Wfuzz:针对WEB应用的模糊测试工具,可以进行web应用暴力猜解,也支持对网站目录、登录信息、应用资源文件等的暴力猜解,还可以进行get及post参数的猜解,sql注入、xss漏洞的测试等。所有功能依赖于字典。
    5.Sfuzz

    6.XSSer命令行界面

    图形化界面xsser --gtk

  • 相关阅读:
    LeetCode 79. 单词搜索
    LeetCode 1143. 最长公共子序列
    LeetCode 55. 跳跃游戏
    LeetCode 48. 旋转图像
    LeetCode 93. 复原 IP 地址
    LeetCode 456. 132模式
    LeetCode 341. 扁平化嵌套列表迭代器
    LeetCode 73. 矩阵置零
    LeetCode 47. 全排列 II
    LeetCode 46. 全排列
  • 原文地址:https://www.cnblogs.com/zhao-chen-xi/p/10617603.html
Copyright © 2011-2022 走看看