攻防世界06-get_post

简介: 攻防世界06-get_post

http的两种请求方式是get和post,比如我用通过通过这两种方式传参,分别传a=1和b=2。get的请求方式是通过在网址后面加上“?a=1&b=2”,例如:https://adworld.xctf.org.cn/task/answer?a=1&b=2 post传参的话通过hackbar,在下面的解题中,会给出方法。

post方式提交的话,我们要用到hackbar

知识点1:get&post请求

什么是GET请求? GET请求是最常见的请求类型,最常用于向服务器查询某些信息,必要时,可以将查询字符串参数追加到URL的末尾,以便将信息发送给服务器。使用GET请求经常会发生一个错误,即查询字符串的格式有问题。查询字符串中每个参数的名称和值都必须使用encodeURLComponent()进行编码,然后才能放到URL的末尾;而且所有名-值对儿必须有和号(&)分隔,如下所示:


xhr.open("get"."example.php?name1=valuel&name2=value2",true); 使用GET方法的具体情况 1.客户端与服务端的交互像是一个提问(如查询操作、搜索操作、读操作) 2.请求是为了查找资源,HTML表单数据仅用来帮助搜索 3.请求结果无持续性的副作用(如进行搜索) 4.收集的数据及HTML表单内的输入字段名称的总长不超过1024个字符 5.获取参数或者短小的内容时用GET,如?id=5 或者 ?title=abc&url=http...


GET方式提交数据特点 1、GET方式在url后面拼接参数,只能以文本的形式传递参数 2、传递的数据量小,4kb左右(不同浏览器会有差异) 3、安全性低,会将信息显示在地址栏 4、速度快,通常用于对安全性要求不高的请求


什么是POST请求 使用频率仅次于GET的是POST请求,通常用于向服务器发送应该被保存的数据。POST请求应该把数据作为请求的主体提交,而 GET请求传统上不是这样。POST请求的主体可以包括非常多的数据,而且格式不限。在open()方法的第一个参数的位置传入"post",就可以初始化一个POST请求请求,如下所示:


xhr.open("post","example.php",true); 发送POST请求的第二步就是向send()方法中传入某些数据。默认情况下,服务器对POST请求和提交的Web表单 的请求并不会一视同仁,因此,服务器必须有程序来读取发送过来的原始数据,并从中解析出有用的部分。


使用POST方法的具体情况 1.交互是一个命令或订单(order),比提问包含更多信息 2.交互改变了服务器端的资源并被用户察觉,例如订阅某项服务 3.用户需要对交互产生的结果负责 4.请求的结果有持续性的副作用,例如,数据库内添加新的数据行 5.GET方法可能会产生很长的URL,或许会超过某些浏览器与服务器对URL长度的限制,所以使用POST 6.获取大断的内容用POST,通常表单用 POST 方式提交数据,表单的method必须设置为POST 7.对数据有变更的请求(增删)用post;(比如发贴,回复的form 用的是 POST)


POST方式提交数据特点: 1、post提交数据相对于get的安全性高一些。 2、传递数据量大,请求对数据长度没有要求 3、请求不会被缓存,也不会保留在浏览器的历史记录中 4、用于密码等安全性要求高的场合,提交数据量较大的场合,如上传文件,发布文章等 5、POST方式提交数据上限默认为8M(可以在PHP的配置文件post_max_size选项中修改)


GET请求和POST请求的区别 这两种请求都是将数据传送到服务器,他们的区别在于:


GET在浏览器回退时是无害的,而POST会再次提交请求 GET产生的URL地址可以被Bookmark,而POST不可以 GET请求会被浏览器主动cache,而POST不会,除非手动设置 GET请求只能进行url编码,而POST支持多种编码方式 GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留 GET请求在URL中传送的参数是有长度限制的,而POST没有 对参数的数据类型,GET只接受ASCII字符,而POST没有限制 GET参数通过URL传递,POST放在Request body中 GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息


相关文章
|
22天前
|
存储 搜索推荐 UED
攻防世界09cookie
攻防世界09cookie
|
22天前
攻防世界15:xff-referer
攻防世界15:xff-referer
|
22天前
|
前端开发 安全 JavaScript
前端安全防护:XSS、CSRF攻防策略与实战
【4月更文挑战第13天】本文探讨了XSS和CSRF攻击的类型、危害及防御方法。XSS攻击通过注入恶意脚本威胁用户安全,分为存储型、反射型和DOM型。CSRF攻击利用用户已登录状态发起恶意请求,可能导致账户状态改变和数据泄露。防御XSS包括输入验证、输出编码和启用Content Security Policy(CSP)。针对CSRF,可使用Anti-CSRF Tokens、设置SameSite Cookie属性和启用HTTPS。开发者应采取这些策略保护用户数据和网站稳定性。
68 0
|
8月前
|
前端开发 安全 JavaScript
关于前端页面测试和抵御 clickjacking attack 的一些方法
关于前端页面测试和抵御 clickjacking attack 的一些方法
54 0
|
22天前
|
Web App开发 人工智能 测试技术
软件测试/人工智能|解决Selenium中的异常问题:“error sending request for url”
软件测试/人工智能|解决Selenium中的异常问题:“error sending request for url”
89 0
|
安全
应对CSRF 攻击常见解决方案
CSRF(Cross-site request forgery)也被称为 one-click attack或者 session riding,中文全称是叫***\*跨站请求伪造\****。一般来说,攻击者通过伪造用户的浏览器的请求,向访问一个用户自己曾经认证访问过的网站发送出去,使目标网站接收并误以为是用户的真实操作而去执行命令。常用于盗取账号、转账、发送虚假消息等。攻击者利用网站对请求的验证漏洞而实现这样的攻击行为,网站能够确认请求来源于用户的浏览器,却不能验证请求是否源于用户的真实意愿下的操作行为。
437 0
|
网络安全
[CTF/网络安全] 攻防世界 get_post 解题详析
[CTF/网络安全] 攻防世界 get_post 解题详析
77 0
|
安全
PHPCMS之POST型CSRF攻击
PHPCMS之POST型CSRF攻击
99 0
|
数据采集 机器人 开发工具
使用验证码拦截爬虫和机器人实践分享
在很多时候我们都会遇到验证码的多种场景,不同的产品也会使用不同的登录验证方式。 在项目开发中,我将KgCaptcha应用到搜索和分页中,下面是我写的的记录。
使用验证码拦截爬虫和机器人实践分享

热门文章

最新文章