cookie

golang 代码安全审计

耗尽温柔 提交于 2020-01-16 14:43:06
前言 Go语言主要用作服务器端开发语言,适合于很多程序员一起开发大型软件,并且开发周期长,支持云计算的网络服务。Go语言能够让程序员快速开发,并且在软件不断的增长过程中,它能让程序员更容易地进行维护和修改。Go语言是强类型语言,它融合了传统编译型语言的高效性和脚本语言的易用性和富于表达性。 由于Go语言代码审计资料较少,这里就把最近学习的对Vulnerability-goapp项目的审计过程分享一下。整个审计过程结合代码安全扫描工具和人工审计,期间也发现代码安全审计工具的漏报误报问题,以下将会细述。 审计对象 经过在github上查找,发现 https://github.com/Snow-HardWolf/Vulnerability-goapp 这个项目适合入门,涵盖了常见的go web安全漏洞。Gitclone之后在goland IDE里打开看到如下项目结构: Asserts目录是静态资源文件,跳过。 Pkg目录是使用go实现的业务逻辑代码,重点关注。 Runenv是数据库配置文件和生成数据库的脚本,简单看下就好。 Trap目录是一个CSRF漏洞的演示,重点关注。 Views目录是前端视图页面,简单看下就好。 代码安全扫描 首先我们使用代码安全扫描工具扫描,发现4类高危,2类中危漏洞,我们分别进行验证。 命令注入-数据流分析 在pkg/admin/admin

关于session

匆匆过客 提交于 2020-01-16 06:44:04
一、cookie和session的区别与联系。 “让我们用几个例子来描述一下cookie和session机制之间的区别与联系。笔者曾经常去的一家咖啡店有喝5杯咖啡免费赠一杯咖啡的优惠,然而一次性消费5杯咖啡的机会微乎其微,这时就需要某种方式来纪录某位顾客的消费数量。想象一下其实也无外乎下面的几种方案: 1、该店的店员很厉害,能记住每位顾客的消费数量,只要顾客一走进咖啡店,店员就知道该怎么对待了。这种做法就是协议本身支持状态。 2、发给顾客一张卡片,上面记录着消费的数量,一般还有个有效期限。每次消费时,如果顾客出示这张卡片,则此次消费就会与以前或以后的消费相联系起来。这种做法就是在客户端保持状态。 3、发给顾客一张会员卡,除了卡号之外什么信息也不纪录,每次消费时,如果顾客出示该卡片,则店员在店里的纪录本上找到这个卡号对应的纪录添加一些消费信息。这种做法就是在服务器端保持状态。 由于HTTP协议是无状态的,而出于种种考虑也不希望使之成为有状态的,因此,后面两种方案就成为现实的选择。具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。同时我们也看到,由于采用服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie机制来达到保存标识的目的,但实际上它还有其他选择。 ” 二

爬虫实战(三) 用Python爬取拉勾网

孤街醉人 提交于 2020-01-16 04:50:42
目录 0、前言 1、初始化 2、爬取数据 3、保存数据 4、数据可视化 5、大功告成 0、前言 最近,博主面临着选方向的困难(唉,选择困难症患者 >﹏<),所以希望了解一下目前不同岗位的就业前景 这时,就不妨写个小爬虫,爬取一下 拉勾网 的职位数据,并用图形化的方法展示出来,一目了然 整体的 思路 是采用 selenium 模拟浏览器的行为,具体的步骤如下: 初始化 爬取数据,这里分为两个部分:一是爬取网页数据,二是进行翻页操作 保存数据,将数据保存到文件中 数据可视化 整体的 代码结构 如下: class Lagou: # 初始化 def init(self): pass # 爬取网页数据 def parse_page(self): pass # 进行翻页操作 def turn_page(self): pass # 爬取数据,调用 parse_page 和 turn_page def crawl(self): pass # 保存数据,将数据保存到文件中 def save(self): pass # 数据可视化 def draw(self): pass if __name__ == '__main__': obj = Lagou() obj.init() obj.crawl() obj.save() obj.draw() 好,下面我们一起来看一下整个爬虫过程的详细分析吧!! 1

cookie和session区别

我们两清 提交于 2020-01-16 03:32:01
cookie 数据存放在客户的浏览器上,session 数据放在服务器上。 cookie 不是很安全,别人可以分析存放在本地的 cookie 并进行 cookie 欺骗,考虑到安全应当使用 session。 session 会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用 cookie。 单个 cookie 保存的数据不能超过 4K,很多浏览器都限制一个站点最多保存 20 个 cookie。 来源: CSDN 作者: 量子计算机牛逼 链接: https://blog.csdn.net/qq_41877948/article/details/103991261

常见web攻击以及防御

梦想与她 提交于 2020-01-16 02:31:15
xss攻击: 跨站脚本攻击,攻击者在网页中嵌入恶意代码,当用户打开网页,脚本程序便开始在客户端的浏览器上执行,以盗取客户端cookie,用户名密码,下载执行病毒木马程序,甚至是获取客户端admin权限等。 原理就是用户输入的时候,输入一些可执行代码,例如<input name="username" value="<script>alert('haha')</script>" /> xss之所以会发生,是因为用户输入的数据变成了代码。因此我们需要对用户的输入的数据进行html转义处理,将其中的括号,引号之类的特殊字符进行转义编码。 crsf攻击,跨站请求伪造,攻击者盗用了你的身份,以你的名义向第三方网站发送恶意请求,crsf能做的事情包括利用你的身份发邮件,发短信,进行交易转账等,甚至盗取你的账号。 攻击值做2件事情,即可完成csrf攻击: 1,登陆受信任站点A,并在本地生产cookie; 2,在不登出站点A(清除站点A的cookie)的情况下,访问恶意站点B。这时恶意站点B的某个页面向站点A发送请求,而这个请求会带上浏览器所保存的站点A的cookie,站点A根据请求所带的cookie,识别为某用户合法行为。 csrf防御手段: 1,将cookie设置为httponly 2,表单提交增加隐藏token提交 3,通过http referer来识别请求来源 sql注入攻击

第4章Postman工具的一些操作

别来无恙 提交于 2020-01-16 00:53:25
第 4章Postman工具的一些操作 4.1 API请求和响应 4.2 接口关联 4.3 测试人员帮忙完善接口文档? 4.4 抓取HTTP请求 4.5 代理 4.6 cookie、session、token概念及全局变量应用 4.6.1 Cookie 4.6.2 Session 4.6.3 Token 4.6.3 以Cookie为容器的session的全局变量设置 4.1 API请求和响应 例子:下面为 “松勤CRM系统”中的一个接口。 1 、接口文档 获取 TOKEN 接口地址: http://XXXXXXXXX/rest/toController 返回格式: json字符串 请求方式: POST 请求参数: {"userName" : "您的用户名","password" : "您的密码"} 请求头: 名称: Content-Type 值:application/json 调用示例 : http://vip.ytesting.com:9090/rest/toController 返回示例: { "code": "0000", "msg": "成功", "success": true, "token": "eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJmYW5jbCIsInN1YiI6ImZhbmNsIiwiaWF0IjoxNTUwODI2N jI4fQ

【摘自大型网站技术架构书】负载均衡时session如何共享

感情迁移 提交于 2020-01-16 00:16:35
由于负载均衡服务器可能会将请求分发到集群任何一台服务器上,所以保证每次请求能够获得正确的session比单机时复杂。 集群环境下,session管理的主要几种手段 1.session复制 session复制是早期的企业级的使用比较多的一种服务器集群session管理机制。应用服务器开启web容器的session复制功能,在集群中的几台服务器之间同步session对象,使得每台服务器上都保存所有的session信息,这样任何一台宕机都不会导致session的数据丢失,服务器使用session时,直接从本地获取。 这种方式在应用集群达到数千台的时候,就会出现瓶颈,每台都需要备份session,出现内存不够用的情况。 2.session绑定 利用hash算法,比如nginx的ip_hash,使得同一个Ip的请求分发到同一台服务器上。 这种方式不符合对系统的高可用要求,因为一旦某台服务器宕机,那么该机器上的session也就不复存在了,用户请求切换到其他机器后么有session,无法完成业务处理。 3.利用cookie记录session(最普遍的做法) session记录在客户端,每次请求服务器的时候,将session放在请求中发送给服务器,服务器处理完请求后再将修改后的session响应给客户端。这里的客户端就是cookie。 利用cookie记录session的也有缺点

Django Cookies与Session组件

ぃ、小莉子 提交于 2020-01-15 21:55:19
目录 Django Cookies与Session组件 Cookies介绍 Session介绍 Django Cookies与Session组件 Cookies介绍 Cookie具体指的是一段小信息,它是服务器发送出来存储在浏览器上的一组组键值对,下次访问服务器时浏览器会自动携带这些键值对,以便服务器提取有用信息。 cookie的工作原理 由服务器产生内容,浏览器收到请求后保存在本地;当浏览器再次访问时,浏览器会自动带上Cookie,这样服务器就能通过Cookie的内容来判断这个是“谁”了。 cookie虽然是保存在客户端的浏览器上的,但是是服务端设置的,浏览器也是可以拒绝服务端对要求 不保存cookie,但是会导致很多功能以及网页的展示都会出现问题 Django中操作Cookies 获取Cookies request.COOKIES['key'] request.get_signed_cookies(key, default=RAISE_ERROR, salt='', max_age=None) 参数: default:默认值 salt:加盐 max_age:后台控制过期时间 设置Cookies obj = HttpResponse(...) obj = render(request, ...) obj.set_cookies(key, value, ...) obj.set

Django cookies和session

好久不见. 提交于 2020-01-15 21:07:11
一、cookie 1、 cookie是什么? 保存在浏览器上一组组键值对 服务器让浏览器进行保存的cookie,浏览器有权利是否进行保存,再次访问服务器的时候会携带着相应的cookie 2、什么要有cookie? http协议是无状态,每次请求都是无关联的,没有办法保存状态。 使用cookie保存状态。 3、django的操作cookie 设置cookie ret = HttpResponse('xxx') ret.set_cookie(key,value,max_age=5) ret.set_signed_cookie(key,value,max_age=5,salt='xxx') 获取cookie request.COOKIES['is_login'] request.COOKIES.get('is_login') request.get_signed_cookie(key,salt='xxx',default='') 删除cookie ret.delete_cookie(key) 二、 session 1、session是什么? 保存在服务器上一组组键值对,依赖cookie 2、 为什么要用session? cookie保存在浏览器上 不安全 cookie的长度受到限制 3、django中操作session 设置session request.session[key] =

php中的Cookie是什么?

你离开我真会死。 提交于 2020-01-15 17:48:48
Cookie 是在 HTTP 协议下,通过服务器或者脚本语言可以维护客户浏览器上信息的一种方式。Cookie 的使用很常见,许多提供个人化服务的网站都是利用 Cookie 来区别不同的用户,以显示与用户相应的内容。例如 Web接口的免费 E-mail 网站,就需要用到 Cookie。有效地使用 Cookie 可以轻松的完成很多复杂的任务。 直线电机的优缺点 了解 Cookie 首先简单的介绍 Cookie是什么以及 Cookie能做什么。 让朋友们对 Cookie有一个比较明确的认识和感官概念。 1.什么是Cookie Cookie 是一种在客户浏览器端存储数据并以此来跟踪和识别用户的机制。简单地说, Cookie 是 Web 服务器暂时存储在用户硬盘上的一个文本文件,并随后被 Web 浏览器读取。 当用户再次访问该 Web 网站时,网站通过读取 Cookie 文件记录这位方可的特定信息(如上次访问的位置、花费的时间、用户名和密码等等),从而迅速的做出相应。 如在页面中不需要输入用户的ID和密码就可以直接登录网站等等。 Cookie 文本文件的命令格式如下: 用户名@网站地址[数字].txt 简单的举个例子,如果用户的系统盘为 C 盘,操作系统为 Windows ,当使用浏览器访问 Web 网站时,Web 服务器会自动以上述的命令格式生成响应的 Cookie 文本文件