cookie

i春秋-“百度杯”CTF比赛 十月场-Login

蓝咒 提交于 2019-12-05 12:03:44
源码发下提示 尝试登陆 得到个什么鬼, 但是相应包里发现个可疑的东西 // CTF中的0 和1 这些一般都有套路的 然后在请求头里 改为 1 ##代码审计来了。。 分析了半天 后来看了别人的wp 才发先自己想的太复杂 只要提交user=ichunqiu就行了啊我去 cookie 去提交 token= 但是为什么这里一定是cookie里带token才行呢? array_merge()覆盖 接着看题,根据源码,只要提交符合条件的token就可拿到flag,但我们并没有在post,get,cookie中提交token,然而服务器却返回"(╯‵□′)╯︵┴─┴",说明token是在SESSION中,那我们只要在cookie里覆盖token 因为cookie在session之后 所以get 和post都不行 也算是get到一个点吧 这里我给她取名交 array_merge()变量覆盖哈哈哈 来源: https://www.cnblogs.com/tlbjiayou/p/11923861.html

关于爬虫的常见反爬及处理方式

本秂侑毒 提交于 2019-12-05 11:45:39
1.robots协议:在scrapy中会用到,设置False即可 2.UA检测:访问时headers中携带user-agent参数即可 3.模拟登陆中验证码的检测:这个稍微的麻烦一些,有的时候这些验证码会set-cookie,每次刷新每次变动cookie,这种使用save_screensot对整张页面进行截图,之后找到图片所在位置及坐标再使用PIL模块截取验证码的图片,计算位置及坐标,模拟点击的时候用这种,打码平台能解析图片内容,这个自行查找 4.cookie:手动的话在headers中添加cookie参数即可,或者使用requests.Session()去访问页面就能获得cookie 5.ip:服务器对访问IP做限制,比如禁止短时间内高频率的访问,这个使用ip池就行,但是ip池得自己做,或者买 6.数据动态加载:当你滑动鼠标或者点击获取更多时候才会再次请求数据,这种一般都是请求指定的URL携带固定的参数,这种自己搞 7.图片懒加载:这种是使用了js,当访问页面是先返回部分内容,其他的内容会给个伪属性,当再次触发时,将伪属性改为真属性。这种可以直接获取真属性或者伪属性 8.js混淆:返回的js代码像一对无序的东西,这个直接粘贴到反混淆网站就可以 9.js逆向:现在好多网站开始使用js逆向了,在前端时给页面上的内容绑定事件,点击或者滑动页面时触发事件,向指定的内容发送请求返回内容

cookie和session的区别

对着背影说爱祢 提交于 2019-12-05 11:44:00
cookie : 位于用户的计算机上,用来维护用户计算机中的信息,直到用户删除。比如我们在网页上登录某个软件时输入用户名及密码时如果保存为cookie,则每次我们访问的时候就不需要登录网站了。我们可以在浏览器上保存任何文本,而且我们还可以随时随地的去阻止它或者删除。我们同样也可以禁用或者编辑cookie,但是有一点需要注意不要使用cookie来存储一些隐私数据,以防隐私泄露。 session: session称为会话信息,位于web服务器上,主要负责访问者与网站之间的交互,当访问浏览器请求http地址时,将传递到web服务器上并与访问信息进行匹配, 当关闭网站时就表示会话已经结束,网站无法访问该信息了,所以它无法保存永久数据,我们无法访问以及禁用网站。 cookie和session总结 1.COOKIE的由来: 因为HTTP请求时没有状态的,每一次请求都是独立的,它不会受前面的请求响应情况直接影响,也不会直接影响后面的请求响应情况。 2.cookie就是保存在浏览器上的键值对 服务器控制着响应,在响应里可以让浏览器在本地保存键值对,下次请求再发送的时候就会自动携带这个cookie值。浏览器关闭,cookie就失效 3.cooie的应用:1.七天免登陆 2.记录用户的浏览器习惯 3.简单的投票规则 4.服务端: 1. 生成字符串 2. 随着响应将字符串回复给浏览器 3.

i春秋CTF-“百度杯”CTF比赛 九月场 XSS平台

人走茶凉 提交于 2019-12-05 11:42:28
“百度杯“CTF比赛 九月场 ###XSS平台 看了别人的wp才知道这里需要变数组引起报错然后百度信息收集,这一步在实战中我觉得是很有作用的,get到。 这里取百度rtiny,看别人wp上说这里是因为前面的目录很正常,这个rtiny看起来有问题,就去百度。。 百度第一栏直接拿下源码,接下来就是代码审计。这几天做题老是遇到pythonweb框架的服务器,所以直接去康啦康教程 这里直接推荐一篇文章 http://shouce.jb51.net/tornado/ 代码审计 这里因为之前就看了别人的wp 所以我知道问题出现在lock.py里面哈哈哈 Username 和passwd都没坐什么过滤 直接带入数据库查询 这是定义的ct 组合起来语句就是 Select * from manager where username='' and password='' Username来自cookie 但是cookie被加密过 Tornado的 set_secure_cookie() 和 get_secure_cookie() 函数发送和取得浏览器的cookies,以防范浏览器中的恶意修改。为了使用这些函数,你必须在应用的构造函数中指定 cookie_secret 参数。 Tornado将cookie值编码为Base-64字符串,并添加了一个时间戳和一个cookie内容的HMAC签名

浅谈前端安全

浪尽此生 提交于 2019-12-05 11:20:28
安全问题的分类 按照所发生的区域分类 后端安全问题:所有发生在后端服务器、应用、服务当中的安全问题 前端安全问题:所有发生在浏览器、单页面应用、Web页面当中的安全问题 按照团队中哪个角色最适合来修复安全问题分类 后端安全问题:针对这个安全问题,后端最适合来修复 前端安全问题:针对这个安全问题,前端最适合来修复 综合以上 前端安全问题:发生在浏览器、前端应用当中或者通常由前端开发工程师来对其进行修复的安全问题 浏览器安全 同源策略 是一种约定,是浏览器最核心也最基本的安全功能,限制了来自不同源的document或者脚本,对当前document读取或设置某些属性 影响“源”的因素有:host(域名或者IP地址)、子域名、端口、协议 对浏览器来说,DOM、Cookie、XMLHttpRequest会受到同源策略的限制 不受同源策略的标签 <script>、<img>、<iframe>、<link> 等标签都可以跨域加载资源,而不受同源策略的限制 这些带"src"属性的标签每次加载时,浏览器会发起一次GET请求 通过src属性加载的资源,浏览器限制了javascript的权限,使其不能读、写返回的内容 三大前端安全问题 1、跨站脚本攻击(XSS) 定义 英文全称:Cross Site Script,XSS攻击,通常指黑客通过“HTML注入”篡改了网页,插入了恶意的脚本

[XSS防御]HttpOnly之四两拨千斤

僤鯓⒐⒋嵵緔 提交于 2019-12-05 10:09:08
今天看了《白帽子讲web安全》一书,顺便记录一下,HttpOnly的设置 httponly的设置值为 TRUE 时,使得Javascript无法获取到该值,有效地防御了XSS打管理员的 cookie 这里以本博客作为测试对象,实现了一下。 找到网站 /include/lib/loginauth.php 文件,如下修改: 这里解释一下:在PHP>5.2版本中支持HttpOnly设置,可以直接在php.ini文件中设置,个人不推荐这种方式,推荐如上图所述在设置cookie时设置。 setcookie() 这个函数现支持7个参数,第七个参数是设置 httponly 的属性,第六个是是否开启 https 传输。 这样设置以后,就能有效地防止XSS获取用户的 重要cookie信息 。 效果如下: 使用 alert(document.cookie) 在控制台弹窗一下,发现并没有我们的登录信息cookie键值对: 注意: httponly 只是阻止了 js 获取 httponly 值为 true 所对应的 cookie 键值队,并不能拦截XSS,想要拦截XSS除了浏览器的filter以外,更多的是程序本身做好参数的过滤。 来源: https://www.cnblogs.com/M0rta1s/p/11920942.html

一种前端灰度发布方案

风流意气都作罢 提交于 2019-12-05 10:08:06
本文介绍一种前端灰度发布方案,主要解决的是传统的灰度发布只能以机器维度进行分组的问题。提供一种用户维度分组的灰度发布机制。 传统灰度发布,因为是以机器分组,所以要求服务是无状态的。所谓无状态就是对请求的处理是上下文无关的。有长连接、读写文件、缓存等场景,就是所谓”有状态“的。有状态的服务,如果用户的前一个请求打在机器A,后一个请求打在机器B,就会出问题。 所以,有状态的服务灰度发布,要做到: 同一用户始终访问同一版本的代码 放量过程像传统发布一样可控 本灰度发布方案对构建、部署、启动服务、处理请求阶段分别做改造,实现有状态服务灰度发布。 方案概述 我们把线上的代码称为stable版,本次发布的新代码称为beta版。先整体描述一下方案: 用git tag标识每次发布 在构建阶段生成tag,同时用tag名称来命名manifest.json 每次构建完新版本后,从cdn源机器取回上次发布的manifest.json文件,一并放在dist目录下 部署阶段全量部署到所有机器,在运行阶段来决定访问哪个版本的代码 node层启动服务时,读dist目录下的两份manifest.json文件,这样就能拿到新旧两个版本的文件清单 处理请求时,根据动态配置的放量信息和分流策略,来决定使用哪个manifest.json中的文件 版本号信息放在cookie中,以保证同一用户始终访问同一版本代码 开发阶段

Cookie/Session机制详解

对着背影说爱祢 提交于 2019-12-05 09:30:27
会话(Session)跟踪是Web程序中常用的技术,用来 跟踪用户的整个会话 。常用的会话跟踪技术是Cookie与Session。 Cookie通过在客户端记录信息确定用户身份 , Session通过在服务器端记录信息确定用户身份 。 本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cookie,什么时候不能用Session。 1.1 Cookie机制 在程序中,会话跟踪是很重要的事情。理论上, 一个用户的所有请求操作都应该属于同一个会话 ,而另一个用户的所有请求操作则应该属于另一个会话,二者不能混淆。例如,用户A在超市购买的任何商品都应该放在A的购物车内,不论是用户A什么时间购买的,这都是属于同一个会话的,不能放入用户B或用户C的购物车内,这不属于同一个会话。 而Web应用程序是使用HTTP协议传输数据的。 HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味着服务器无法从连接上跟踪会话 。 即用户A购买了一件商品放入购物车内,当再次购买商品时服务器已经无法判断该购买行为是属于用户A的会话还是用户B的会话了。要跟踪该会话,必须引入一种机制。 Cookie就是这样的一种机制。它可以弥补HTTP协议无状态的不足。在Session出现之前,基本上所有的网站都采用Cookie来跟踪会话。 1.1.1

cookie 和session 的区别详解

雨燕双飞 提交于 2019-12-05 09:30:07
这些都是基础知识,不过有必要做深入了解。先简单介绍一下。 二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择, 都纪录下来。当下次你再光临同一个网站,WEB 服务器会先看看有没有它上次留下的 Cookie 资料,有的话,就会依据 Cookie 里的内容来判断使用者,送出特定的网页内容给你。 Cookie 的使用很普遍,许多有提供个人化服务的网站,都是利用 Cookie 来辨认使用者,以方便送出使用者量身定做的内容,像是 Web 接口的免费 email 网站,都要用到 Cookie。 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。 同时我们也看到,由于采用服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie机制 来达到保存标识的目的,但实际上它还有其他选择。 cookie机制。正统的cookie分发是通过扩展HTTP协议来实现的,服务器通过在HTTP的响应头中加上一行特殊的指示以提示 浏览器按照指示生成相应的cookie。然而纯粹的客户端脚本如JavaScript或者VBScript也可以生成cookie。而cookie的使用 是由浏览器按照一定的原则在后台自动发送给服务器的

前端面试题1(HTML篇)

无人久伴 提交于 2019-12-05 09:29:56
HTML 语义化 HTML标签的语义化是指:通过使用包含语义的标签(如h1-h6)恰当地表示文档结构 css命名的语义化是指:为html标签添加有意义的class 为什么需要语义化: 去掉样式后页面呈现清晰的结构 盲人使用读屏器更好地阅读 搜索引擎更好地理解页面,有利于收录 便团队项目的可持续运作及维护 简述一下你对HTML语义化的理解? 用正确的标签做正确的事情。 html语义化让页面的内容结构化,结构更清晰,便于对浏览器、搜索引擎解析; 即使在没有样式CSS情况下也以一种文档格式显示,并且是容易阅读的; 搜索引擎的爬虫也依赖于HTML标记来确定上下文和各个关键字的权重,利于SEO; 使阅读源代码的人对网站更容易将网站分块,便于阅读维护理解 Doctype作用?标准模式与兼容模式各有什么区别? <!DOCTYPE> 声明位于位 于HTML 文档中的第一行,处于 <html> 标签之前。告知浏览器的解析器用什么文档标准解析这个文档。 DOCTYPE 不存在或格式不正确会导致文档以兼容模式呈现 标准模式的排版 和JS运作模式都是以该浏览器支持的最高标准运行。在兼容模式中,页面以宽松的向后兼容的方式显示,模拟老式浏览器的行为以防止站点无法工作 HTML5 为什么只需要写 <!DOCTYPE HTML>? HTML5 不基于 SGML,因此不需要对DTD进行引用