zoukankan      html  css  js  c++  java
  • 01 WEB白帽子Python入门

    1-1 渗透测试介绍
    1)什么是渗透测试?
    通过实际的攻击进行安全测试与评估的方法。一种通过模拟恶意攻击者的技术与方法,挫败系统安全措施,取得访问控制权,并发现具备业务影响后果安全隐患的一种安全测试与评估方式。
    Web渗透测试--针对WEB应用程序展开--服务器、中间件、数据库、WEB、App
    渗透测试工程师需要掌握技能--程序员开发思维、恶意攻击者的思路与方法
    2)WEB渗透测试步骤
    信息收集-->整站映射-->漏洞扫描-->漏洞利用(可能需要拓展渗透成果继续提权)-->测试报告(报告给出漏洞信息,验证信息,解决方法)
    3)注意
    整个过程中,及时与客户交流。前提:要进行授权

    1-2 基本渗透测试工具介绍
    1)HTPP代理:介于浏览器和服务器之间的中间桥梁,常用工具BurpSuite
    2)网站爬虫:对WEB App测试时对整个网站进行测试,常用工具:ZAP、BurpSuite、Httrack ;Python工具:Scrapy
    3)Web漏洞扫描:针对WEB App技术漏洞扫描,常用工具AppScan、AWVS;Python:工具W3af
    4)目录探测:对WEB App不链接页面探测,常用工具:Dirb、wfuzz
    5)特定任务:需要自动化探测与利用的步骤很多,某些新技术没有探测工具。使用Python开发安全工具成为首选,简单、高效、库多

    1-3 HTTP状态码获取
    1)HTTP模型:客户端请求-服务端响应,响应状态码-标识接收或拒绝请求
    2)Python解决问题:测试网站-https://httpbin.org/ GET方式,获取200状态码


    2-1 HTTP协议介绍
    1)协议分类:
    HTTP1.0 80端口 一次一个连接
    HTTP1.1 80端口 多次一个连接
    协议不安全 --> 明文传输
    HTTPS1.1 443端口 加密传输数据
    2)请求方法:
    HTTP1.0: GET、POST、HEAD
    HTTP1.1:OPTIONS、PUT、DELETE、TRACE、CONNECT、PATCH
    3)URL:协议://主机名.域名/文件夹/文件?参数=值&参数1=值1
    4)HTTP请求头:
    User-Agent:浏览器版本信息
    Accept-encoding:浏览器接受的编码
    Referer:当前网页从哪里跳转过来的
    Cookie:Cookie信息
    Location:跳转到哪里
    Set-Cookie:设置Cookie信息
    WWW-Authenticate:用于身份验证HTTP Basic等
    5)HTTP响应状态码
    1XX 信息提示 2XX 成功 3XX 重定向 4XX 客户端错误 5XX 服务端错误
    6)查看HTTP: 使用浏览器的审查工具、Burpsuite HTTP 截断代理 进行查看

    2-2.Python-HTTP请求
    1)GET请求
    不带参数请求: requests.get(url)

    带参数请求 :request.get(url.params={key1=value1,key2=value2}) r.url获取请求URL

    2)POST请求
    不带参数请求:requests.post(url)
    带参数请求:requests.post(url,data={key1:value1})

    3)自定义请求头
    headers = {key1:value2}
    requests.get(url,headers=headers)

     

    4)其他请求
    r = requests.put('http://httpbin.org/put', data={'key':'value'})
    r = requests.delete('http://httpbin.org/delete')
    r = requests.head('http://httpbin.org/get')
    r = requests.options('http://httpbin.org/get')

    2-3.Python-HTTP响应
    1)获取响应状态码
    r.status_code
    2)获取响应文本
    r.content
    r.text
    3)获取响应头
    r.headers
    获取请求头: r.requests.headers
    4)获取请求url
    r.url
    5)获取cookie
    r.cookies

    2-4.Python-HTTP代理
    1)代理设置 httphttps
    2)参数设置:proxies verify=false
    3)结合burpsuite查看

     

    2-5.Python-HTTP会话编程
    1)携带Cookie的会话
    访问某些页面时,会通过Set-Cookie设置Cookie值,以便下一次访问自动提交Cookie进行身份验证
    2)Python-Session
    s = requests.Session()
    r = s.get(url) 或者 r = s.post(url)

    2-6.Python目录扫描工具
    1)目录扫描原理
    1、读取字典文件,拼接URL
    2、HTTP GET请求URL
    3、判断状态码 输出存在目录
    2)字典文件读取
    with open("filename.txt","r") as f:
    f.readline()
    f.readlines()
    f.read(10)
    3)工具编写
    读取字典文件
    HTTP GET请求
    参数优化

    2-7.Python目录扫描工具-基础补充
    1)命令行Python参数传递
    sys.argv[0] 、 sys.argv[1]
    2)文件读写补充
    open(filename,mode)
    r 读取
    w 写操作会自动写入内容,并且对之前的内容进行覆盖
    a 追加


    3)自定义User-Agent
    获取
    扫描工具自定义User-Agent

    2-8.Python - IIS PUT漏洞探测工具
    1)工具原理
    IIS中拓展工具WebDAV支持HTTP方法,也提供了一些其他功能强大的方法(Move),使得开启WebDAV可以直接上传任意文件。
    使用HTTP options方法可以探测出服务器支持的HTTP方法。
    2)工具编写
    1、确定目标服务器
    2、发送OPTIONS请求
    3、确定结果中是否具有MOVE PUT

    2-9.Python - 获取HTTP服务器信息
    1)获取中间件信息
    IIS Apache
    2)获取脚本信息

    2-10.Python - 漏洞检测工具
    1)漏洞原理
    1、漏洞被披露之后,根据漏洞原理写出对应的POC代码,用来验证漏洞是否存在
    2、写POC代码首先要了解漏洞原理,以ms15-034为例
    2)代码编写
    1、"GET / HTTP/1.1 Host: stuff Range: bytes=0-18446744073709551615 ";
    2、使用Python编写

    3)验证检测效果
    1、搭建漏洞环境用于测试
    2、与其他工具进行效果对比

    3-1.站点地图构建
    1)测试Web App首要任务
    获取站点完整目录与文件
    2)技术种类
    1、通过基于字典的目录文件扫描确定,使用python requests可以轻松完成任务
    2、通过基于网络爬虫的技术确定,使用python scrapy完成,requests也可以但是复杂
    3)Burpsuite构建站点地图
    spider功能扫描

  • 相关阅读:
    20200209 ZooKeeper 3. Zookeeper内部原理
    20200209 ZooKeeper 2. Zookeeper本地模式安装
    20200209 Zookeeper 1. Zookeeper入门
    20200206 尚硅谷Docker【归档】
    20200206 Docker 8. 本地镜像发布到阿里云
    20200206 Docker 7. Docker常用安装
    20200206 Docker 6. DockerFile解析
    20200206 Docker 5. Docker容器数据卷
    20200206 Docker 4. Docker 镜像
    Combining STDP and Reward-Modulated STDP in Deep Convolutional Spiking Neural Networks for Digit Recognition
  • 原文地址:https://www.cnblogs.com/Ben-john/p/14630377.html
Copyright © 2011-2022 走看看