渗透准备知识

网络安全

安全常见漏洞

  • 不完善的身份验证措施
  • 不完善的访问控制措施
  • SQL注入
  • 跨站点脚本
  • 信息泄露
  • 跨站点请求伪造

网络攻击图

image-20220314235833200

WEB应用技术

HTTP

  • 客户端通过浏览器 —— 获取——服务端数据信息
  • 客户端通过浏览器——提交——服务端后台程序(数据库服务器 缓存服务器 存储服务)

HTTP请求报文

请求报文信息

  • 请求行
  • 请求头
  • 空行
  • 请求主体

响应报文信息

  • 响应行
  • 响应头
  • 空行
  • 响应主体(获取数据信息 文本 图片 视频 音频 代码信息)

HTTP请求字段名称及作用

请求报文信息:

  • Accept :识别网站资源
  • Referer :外部链接(访问此网站前是从其他网站跳转过来的,会做一个记录;可以防止盗链,别人盗取网站资源)
  • Accept-Language : 支持的语言
  • User-Agent :客户端访问服务端软件信息(例如:Windows上的Chrome浏览器访问;也可显示移动端访问:iPhone、Android)
  • Accept-Encoding :资源压缩请求,利于访问减少带宽占用
  • Host :域名,确定网站访问信息
  • Connecting :Keep-Alive 一般都是长连接 none
    • 短链接 : 一次链接(tcp三次握手)一次请求,请求完断开
    • 长连接 : 一次链接(tcp三次握手) 在时间域内多次请求

响应报文信息:

  • HTTP/1.1 200 OK :状态码和协议
  • Date :时期
  • Server :浏览器
  • X-Power-By :框架
  • Cache-Control :缓存控制
  • Content-Type :响应主体信息类型
  • Content-Length :数据字节大小

请求方法:

  • 请求方法

    • get : 从服务器获取资源数据信息 (不会有请求主体)

    • post :向服务器提交资源数据信息 (字符信息提交)

    • put :向服务端提交文档附件资源

    • head :类似get,不返回消息主体

    • trace :用于诊断

    • options :要求服务器报告对某一特殊资源有效的HTTP方法

      • 用法:黑客利用 HTTP请求包(携带OPTIONS)–> www.xx.com –> 查看是否有安全控制 ,若没有服务器端 –> 返回HTTP响应报文中携带支持访问的方法信息:如GET POST PUT MOVE HEAD ,这些方法会被黑客利用植入木马等病毒程序
    • put :上传信息

URL统一资源定位符

格式: protocol://hostname[:port]/[path/Ifile[?Param=valuel

  • protocol : http https ftp
  • hostname : IP地址 、域名信息
  • port : 端口号,例[8002] nginx、apache、tomcat
  • path/Ifile :资源路径(访问静态资源的时候)
  • Param :参数(动态资源:index.php)

HTTP消息头

  • Authorization :为一种内置HTTP身份验证向服务器提交证书

  • Location :用于重定向响应(那些状态码以3开头的响应)中说明重定向的目标 www.360buy.com –> www.jd.com

状态码

  • 1xx :提供信息
    • 100 客户必须继续发出请求
    • 101 客户要求服务器根据请求转换HTTP协议版本
  • 2xx :请求被成功提交
    • 200 (成功) 服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。
    • 201 (已创建) 请求成功并且服务器创建了新的资源。
    • 202 (已接受) 服务器已接受请求,但尚未处理。
    • 203 (非授权信息) 服务器已成功处理了请求,但返回的信息可能来自另一来源。
  • 3xx :客户端被重定向到其他资源
    • 300 (多种选择) 针对请求,服务器可执行多种操作。 服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择。
    • 301 (永久移动) 请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。
    • 302 (临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
  • 4xx :请求包含某种错误
    • 400 (错误请求) 服务器不理解请求的语法。
    • 401 (未授权) 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。
    • 403 (禁止) 服务器拒绝请求。
    • 404 (未找到) 服务器找不到请求的网页。
  • 5xx :服务器执行请求时遇到错误
    • 500 (服务器内部错误) 服务器遇到错误,无法完成请求。
    • 503 (服务不可用) 服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。

用户访问网站的身份证,用来存储一些用户信息,用于辨别用户身份

Cookie类型

  • 会话Cookie
    • 用户推出浏览器访问后,即删除
  • 持久Cookie
    • 存储到硬盘中,维护用户周期性访问网站

Cookie域

  • Domain属性

    • 访问不同的网站会有很多个不同的Cookie,如何辨识Cookie对应哪个网站,我们在Cookie中引入Domain属性
  • Path属性

    • 一个网站中有无数不同的资源和页面,访问同一个网站的不同页面时也会产生不同的Cookie,所以通过path属性来标识特定文档资源

第三方Cookie

用来根据用户喜好进行内容推广使用,由于经常使用浏览器访问不同的网站和产品、广告,每次访问时会产生对应的第三方Cookie,等你再次访问其他网站时,它会自动读取,并且给你推荐相关产品

网站渗透技术

漏洞扫描

1、链路检测扫描

  • 利用ping命令进行测试扫描检查网络连通性
    • ping命令进行扫描时,会先检查网络的连通性,然后根据测试扫描后的TTL值的输出,判断所扫描的系统类型(windows、linux、交换机)

2、端口检测扫描

  • 利用telnet命令进行测试扫描检查网络端口
    • telnet命令扫描会进行检查网络的端口是否开放,根据访问输出消息即可进行判断

3、OS检测扫描

  • OS扫描是黑客进行OS漏洞攻击的前奏,实时检测OS扫描是防止系统遭受OS漏洞攻击的重要手段。

    • 利用nmap命令测试扫描检查网络系统信息,使用TCP/IP协议栈指纹来识别不同的操作系统和设备。

      具体实现方式如下:

      • nmap内部包含了2600多已知系统的指纹特征(在文件nmap-os-db文件中记录)。将此指纹数据库作为进行指纹对比的样本库。
      • 分别挑选一个open和closed的端口,向其发送经过精心设计的TCP/UDP/ICMP数据包,根据返回的数据包生成一份系统指纹。
      • 将探测生成的指纹与namp-os-db中指纹进行对比,查找匹配的系统。如果无法匹配,以概率形式列举出可能的系统。

4、弱口令探测

尝试安全性差的密码信息,一般的都是采用穷举破解原理 ,或者是利用字典文件加快破解速度 ,对常见的弱口令的收集

5、漏洞评估检测

利用漏洞扫描器,针对网络、应用、数据库的已知的漏洞评估,识别和量化环境中的安全漏洞。

扫描技术

image-20220315142856326

扫描工具

  • X-Scan —— 对指定主机或IP地址段进行安全检测

    设置 → 扫描参数 → 检测范围(输入IP地址) → 全局设置 (按照自己的需求设置)→ 查看扫描报告

  • AppScan —— 一个桌面应用程序,进行web应用程序自动化脆弱性评估。
    先破解 → 文件 → 新建扫描 → 常规扫描 → AppScan(自动或手动)→ 输入网站IP地址的URL → 扫描网站生成报告

  • AWVS —— 自动化web测试工具

    先激活再使用

Web渗透攻防环境搭建

部署虚拟主机

  • Windows 2003/2008
  • Windows 7/10
  • Linux kail/centos

网站服务架构平台

推荐: Windows 下的LNMP 、LAMP 、LNMT ,利用软件(phpstudy)


文章作者: 寜笙
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 寜笙 !
 上一篇
2022-03-18 寜笙
下一篇 
2022-03-10 寜笙
  目录