WEB渗透学习笔记1——http

WEB渗透学习笔记1

OWASP

  • 开放式Web应用程序安全项目(OWASP,Open Web Application Security Project)是一个组织,它提供有关计算机和互联网应用程序的公正、实际、有成本效益的信息。其目的是协助个人、企业和机构来发现和使用可信赖软件
  • OWASP TOP10:OWASP(开放式Web应用程序安全项目)的工具、文档、论坛和全球各地分会都是开放的,对所有致力于改进应用程序安全的人士开放,其最具权威的就是“10项最严重的Web 应用程序安全风险列表” ,总结了Web应用程序最可能、最常见、最危险的十大漏洞,是开发、测试、服务、咨询人员应知应会的知识

web的三个组成部分

  1. 浏览器
  2. web应用程序(中间件):apache、iis、tomcat、nginx、weblogic、jboss等
  3. 后端存储:mysql、sql server、oracle、access、PsotgreSQL、nosql等

访问网站时的过程

  1. 输入域名打开一个网站
  2. 查找DNS解析——解析到网站IP地址——返回给客户端
  3. 通过IP地址寻址网站
    • TCP连接建立
    • http请求
    • 服务器端响应http请求

http数据包请求结构

  • 一个http数据包请求由四个部分组成:请求行、请求头标、空行、请求数据
    1. 请求行:请求行由三个标记组成:请求方法、请求URL和HTTP版本,它们使用空格分隔。如:GET /www.xxxx.com/index.html HTTP/1.1
    2. 请求头行:由关键字/值对组成,每一行头、关键字和值用冒号(:)分隔
    3. 空行:最后一个请求头标之后是一个空行,发送回车符和退行,表示服务器一下不再有头标
    4. 请求数据:使用post传送数据,最常用的就是Content-Type和Content-Length头标
      在这里插入图片描述

HTTP协议请求方法

HTTP规范定义了8种可能的请求方法:

  • get:向特定资源发出请求(请求指定页面信息,并返回实体主体)
  • post:向特定资源提交数据进行处理请求(提交表单、上传文件),有可能导致新的资源的建立或原有资源的修改
  • head:与服务器索取与get请求一致的响应,响应体不会返回,获取包含在小消息头中的原信息(与get请求类似,返回的响应中没有具体内容、用于获取报头)
  • put:向指定资源位置上上传其最新内容(从客户端向服务器传送的数据取代指定文档的内容),与post的区别是put为幂等,post为非幂等
  • trace:回显服务器收到的请求,用于测试和诊断。trace是HTTP8种请求方式中最安全的
  • delete:请求服务器删除request-URL所标示的资源(请求服务器删除页面)
  • option:返回服务器针对特定资源所支持的HTML请求方法或web服务器发送测试服务器功能(允许客户端查看服务器性能)
  • connect:HTTP/1.1协议中能够将连接改为管道方式的代理服务器

HTTP协议之URL

  • URL:统一资源定位符

  • 是对可以从互联网上得到的资源位置和访问方法 的一中简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它

  • 完整的带有授权的URL语法

    • 协议://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志
  • 常见的基本URL语法:

    • 协议://服务器IP(:端口)/路径/文件(?查询)
      • 例如:http://www.xxx.com/aa.php?id=bb

GET和POST的区别

  1. GTP提交的数据会放在URL之后,以?分割URL和传输数据、参数之间以&相连,如EditPosts.aspx?name=test&id=123456。POST方法是吧提交的数据放在HTTP包的Body中

  2. GET提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST方法提交的数据没有限制

  3. GET方式需要使用Request.QueryString来取得变量值,而POST方式通过Request.Form来获取变量值

  4. GET方式提交数据会带来安全问题,日入一个登录页面通过GET方式提交数据时,用户名和密码将出现在URL上,如果页面可以被缓存或者其他人可以访问这台机器,就可以从历史记录获得该用户的账号和密码

HTTP请求头部解析

  • Accept:用于指定客户端接受哪些类型的消息。如:Accept:image/gif
  • Accept-Charset:用于指定客户端接受的字符集。如:Accept-Charset:iso-8859-1.gb2312
  • Accept-Encoding:用于指定可接受的内容编码。如:Accept-Encoding:gzip.deflate
  • Accept-Language:用于指定一种自然语言。如:Accept-Language:zh-cn
  • Authorization:用于证明客户端有权查看某个资源。当浏览器访问一个页面时。如果收到服务器端响应代码为401(未授权),可以发送一个包含Authorization请求报头域的请求,要求服务器对其进行验证
  • Host:用于指定被请求资源的Internet主机和端口号
  • User-Agent:允许客户端将它的操作系统、浏览器和其他属性告诉服务器,会造成个人信息泄露
  • Cookie:某些网站未来辨别用户身份、惊醒session跟踪而存储在用户本地终端上的数据(通常经过加密)
  • Referer:告知下一次请求服务器的来源页面资源链接

HTTP状态码介绍

  • 1xx:指示信息——表示请求已接收,继续处理
  • 2xx:成功——表示请求已经被成功接收、理解、接受
  • 3xx:重定向——要完成请求必须进行更进一步的操作
  • 4xx:客户端错误——请求语法错误或请求无法实现
    xx:成功——表示请求已经被成功接收、理解、接受
  • 3xx:重定向——要完成请求必须进行更进一步的操作
  • 4xx:客户端错误——请求语法错误或请求无法实现
  • 5xx:服务器端错误——服务器未能实现合法的请求
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值