首页 > 其他分享 >腾讯大牛亲授 Web 前后端漏洞分析与防御技巧

腾讯大牛亲授 Web 前后端漏洞分析与防御技巧

时间:2024-12-11 20:55:03浏览次数:10  
标签:Web Cookies 攻击 泄露 大牛 用户 密码 CSRF 亲授

C:\Users\Administrator\Desktop\
41、腾讯大牛亲授 Web 前后端漏洞分析与防御技巧\
第1章 课程介绍
1-2
Web安全与技巧强化
Web安全实战
开发实战
私密性
不被非法获取和利用

可靠性
不丢失不损坏不被篡改

Web安全
代码层面
架构层面
运维层面

安全问题
用户身份被盗用
用户密码泄露
用户资料被盗用
网站数据库泄露
其他

安全的重要性

Web安全的重要性
直面用户 挑战严峻
网站和用户安全是生命线
安全事故威胁企业生产、口碑甚至生存

课程安排
跨站脚本攻击XSS
跨站请求伪造攻击CSRF
前端Cookies安全性

课程安排
点击劫持攻击
传输过程安全问题
用户密码安全问题

课程安排
SQL注入攻击
信息泄露和社会工程学
其他安全问题


能学到什么
了解安全问题的原因
避免开发出带漏洞的代码
如何开发安全的Web项目


面向用户
Web前端工程师
Node,js工程师

预备知识
原生JavaScript
少量Node.js.基础
HTTP基础知识(含Cookies/Session)
Web后端基础知识(HTTP/SQL)

模板html

第2章 环境搭建
npm install nodemon -g 浏览器自动更新代码

mysql -uroot -proot
>mysql -uroot -proot

show databases;

改密
alter user 'root'@'localhost' inentified by '';
mysql -uroot 不用mm直接上
create database safety;
use safety;
show tables;

create table test(id int);
select * from test;
drop table test;删除

>mysql safety -uroot -proot <safety.sql

x>npm start

第3章 前端XSS
英文错写 css c-x

xss
Cross Site Scripting
跨站脚本攻击

pug

url+script <>
script由数据变成了程序?
XSS攻击原理

Scripting能干啥?

获取页面数据
获取Cookies
劫持前端逻辑
发送请求
...
偷取网站任意数据
偷取用户资料
偷取用户密码和登录态
欺骗用户
...

修复过了

XSS 攻击分类
反射型
url参数直接注入
存储型
存储到DB后读取时注入

短链接

XSS攻击注入点
HTML节点内容 修复-转义<&lt;和>&gt;
HTML属性 转义"/'/空格&quto;
JavaScript代码 -转义"\"或者转换成json
富文本 按白名单保留部分标签和属性

富文本
富文本得保留HTML
HTML有XSS攻击风险


浏览器自带防御
参数出现在HTML内容或属性


'' ;
hrml实体

CSP
Content Security Policy
内容安全策略
用于指定哪些内容可执行

РHР中防御XSS
内置函数转义
DOM解析白名单
第三方库
CSP

第4章 前端CSRF

蠕虫
CSRF攻击原理
CSRF攻击危害
利用用户登录态
用户不知情
完成业务请求
·盗取用户资金(转账、消费)
·冒充用户发帖背锅
·损坏网站名誉

B网站向A网站请求
带A网站Cookies
不访问A网站前端
referer为B网站

CSRF攻击防御
禁止第三方网站带Cookies
same-site属性


CSRF攻击防御
不访问A网站前端
在前端页面加入验证信息
验证码 ccap
token from+cookies
referer为B网站

getx
ttx3 gtc

referer为B网站
验证referer
禁止来自第三方网站的请求


PHP防御CSRF
Cookie samesite属性
HTTP referer头
token

第5章 前端Cookies问题

Cookies特性
前端数据存储
后端通过http头设置
请求时通过http头传给后端
前端可读写
遵守同源策略

document.cookies='userid=2'

Cookies特性
域名
有效期
路径
http-only http用
secure ---https用


new=new Date()
now.togmistring

过期时间cookies 空 过期设置

Cookies作用
存储个性化设置
存储未登录时用户唯一标识
存储已登录用户的凭证
存储其他业务数据

Cookies-登录用户凭证
前端提交用户名和密码
后端验证用户名和密码
后端通过http头设置用户凭证
后续访问时后端先验证用户凭证

Cookies-登录用户凭证
用户ID
用户ID +签名
Sessionld
Token

Cookies篡改
1-2
document.cookies='userid=2'

Cookies和XSS的关系
XSs可能偷取Cookies
http-only的Cookie不会被偷


Cookies和CSRF的关系
CSRF利用了用户Cookies
攻击站点无法读写Cookies
最好能阻止第三方使用Cookies

Cookies安全案例
某学校教务系统使用了开源CMS
该CMS使用username作为唯一用户标识
该CMS文章作者暴露了username
可使用任意username登录后台


Cookies安全案例
某论坛使用了某开源ASP BBS程序
该ASP程序使用用户ID作为用户标识
可伪造任意用户登录

Cookies-安全策略
签名防篡改
私有变换(加密)
http-only(防止Xss)
secure
same-site

第6章 前端点击劫持问题

点击劫持
用户亲手操作
用户不知情
盗取用户资金(转账、消费)
获取用户敏感信息


点击劫持案例
点击劫持防御
JavaScript禁止内嵌
X-FRAME-OPTIONS禁止内嵌
其他辅助手段
验证码


top.location = window.location

header( 'X-Frame-Options: DENY');


第7章 传输安全

НТТР传输窃听
传输链路窃听篡改
浏览器
代理服务器
链路
服务器

查看经过那些route路由
traceroute www.baidu.com
C:\Users\Administrator>tracert
www.toobug.net

代理软件
anyproxy


HTTP窃听
窃听用户密码
窃听传输敏感信息
非法获取个人资料

HTTP篡改
插入广告
重定向网站
无法防御的xSS和CSRF攻击



HTTPS
TLS(SSL)加密
浏览器
代理服务器
链路
服务器

中间人攻击
浏览器
加密
中间人
加密
服务器


如何确定服务器身份
CA证书 imgshow
证书无法伪造
证书私钥不被泄露
域名管理权不泄露
СA坚持原则

12--security


第8章 密码安全

密码安全
密码的作用
密码的存储
密码的传输
密码的替代方案
生物特征密码的问题

密码的作用
证明你是你


密码-对比
存储的密码
对比
输入的密码

密码-泄露渠道
数据库被偷
服务器被入侵
通讯被窃听
内部人员泄露数据
其他网站(撞库)

密码-存储
严禁明文存储(防泄露)
单向变换(防泄露)
变换复杂度要求(防猜解)
密码复杂度要求(防猜解)
加盐(防猜解)

密码-哈希算法
明文-密文—一对应
雪崩效应
密文-明文无法反推
密文固定长度
常见哈希算法:md5 shal sha256

密码-md5单向变换
密码-单向变换彩虹表

md5(明文)=密文
md5(md5(明文))=密文
md5(sha1(明文))=密文
mds5(sha256(sha1(明文))=密文

密码-单向变换彩虹表
用复杂密码对抗彩虹表
密码-帮助用户加强复杂度

密码-变换次数越多越安全
加密成本几乎不变(生成密码时速度慢一些)
彩虹表失效(数量太大,无法建立通用性)
解密成本增大N倍


密码-密码传输的安全性
https传输
频率限制
前端加密意义有限


密码-生物特征密码
指纹(唇纹)
声纹
虹膜
人脸

密码-生物特征密码
私密性-容易泄露
安全性一碰撞
唯一性-终身唯一无法修改

第9章 接入层注入问题
关系型数据库
存放结构化数据
可高效操作大量数据
方便处理数据之间的关联关系
常见:access/sqlite/mysql/mssql server

SQL语言
select * from table where id = 1
标准化
类似自然语言的描述性语言
用于关系型数据库
可完成增、删、改、查以及各种复杂的数据库操作
SQL注入
数据 程序

SQL注入危害
猜解密码
获取数据
删库删表
拖库

SQL注入防御
关闭错误输出
检查数据类型
对数据进行转义
使用参数化查询
使用ORM(对象关系映射)
>npm install sequelize -save
>npm install mysql2


NoSQL注入和防御
tongshi ks

NoSQL注入和防御
检查数据类型
类型转换
写完整条件


PHP防ESQLE入
检查数据类型
对数据进行转义
addslashes()
mysql_real_escape_string()
使用参数化查询
new PDO
使用ORM(对象关系映射)
框架封装的ORM



第10章 接入层上传问题

上传问题
1.上传文件
2.再次访问上传的文件
3.上传的文件被当成程序解析


>npm i koa-body -save


上传问题防御
1,限制上传后缀
2.文件类型检查
3.文件内容检查
4.程序输出
5·权限控制-可写可执行互斥

node php

第11章 社会工程学和信息泄露
信息泄露
泄露系统敏感信息
泄露用户敏感信息
泄露用户密码


信息泄露的途径
错误信息失控
SQL注入
水平权限控制不当
XSS/CSRF

社会工程学
昵称
真名
邮箱

手机号
身份证号
密码

你的身份由你掌握的资料确定
别人掌握了你的资料
别人伪装成你的身份
利用你的身份干坏事

社会工程学案例
电信诈骗(徐玉玉案)
伪装公检法
QQ视频借钱
微信伪装好友

OAuth思想
QQ
破网站
用户

一切行为由用户授权
授权行为不泄露敏感信息
授权会过期

利用OAuth思想防止资料泄露
敏感资料
业务
用户

用户授权读取资料
无授权的资料不可读取
不允许批量获取数据
数据接口可风控审计,

第12章 其他安全问题

其他安全问题
拒绝服务DOS
重放攻击


拒绝服务攻击DOS
模拟正常用户
大量占用服务器资源
无法服务正常用户
TCР半连接
НTТР连接
DNS

大规模分布式拒绝服务攻击DDOS
流量可达几十到上百G
分布式(肉鸡、代理)
极难防御


DOS攻击防御
防火墙
交换机、路由器
流量清洗
高防IP


DOS攻击预防
避免重逻辑业务
快速失败快速返回
防雪崩机制
有损服务
CDN


重放攻击
请求被窃听或记录
再次发起相同的请求
产生意外的结果


用户被多次消费
用户登录态被盗取
多次抽奖

重放攻击防御
加密(HTTPS)
时间戳
token(session)
nonce
签名


课程总结
请简述xss的原理
请简述XSS的防御方法
xss防御需要注意的点

CSRF原理是什么
CSRF的危害是什么
CSRF如何进行防御

Cookies的作用是什么?
Cookies和Session的关系?
Cookies有哪—些特性?
如何删除一个Cookie值?

HTTPS是如何保证数据不被窃听的
HTTPS是如何保证不被中间人攻击的
部署HTTPS的步骤

SQL注入的原理是什么
SQL注入有哪些危害
Node.js中如何防止SQL注入
PHP中如何防止SQL注入


文件上传漏洞的原理是什么?
如何防范文件上传漏洞?

如何设计用户密码存储?
如何设计登录过程?
如何保证用户密码不被窃听?

完结

标签:Web,Cookies,攻击,泄露,大牛,用户,密码,CSRF,亲授
From: https://www.cnblogs.com/KooTeam/p/18600698

相关文章

  • 网络安全、Web安全、渗透测试之笔经面经总结(一)
    本篇文章总结涉及以下几个方面:对称加密非对称加密?什么是同源策略?cookie存在哪里?可以打开吗xss如何盗取cookie?tcp、udp的区别及tcp三次握手,syn攻击?证书要考哪些?DVWA是如何搭建的?渗透测试的流程是什么xss如何防御IIS服务器应该做哪些方面的保护措施:虚拟机的几种连接方......
  • 网络安全、Web安全、渗透测试之笔经面经总结(二)
    这篇文章涉及的知识点有如下几方面:1.SSLStrip(SSp)攻击到底是什么?2.中间人攻击——ARP欺骗的原理、实战及防御3会话劫持原理4.CC攻击5.添加时间戳防止重放攻击6.浅析HTTPS中间人攻击与证书校验7.什么是HttpOnly?8.如何设计相对安全的cookie自动登录系统9.SSH10.服务......
  • 329.大学生HTML期末大作业 —【纪念鲁迅文化主题网页】 Web前端网页制作 html+css
    目录一、更多推荐二、网页简介三、网页文件四、网页效果五、代码展示1.html2.CSS六、总结1.简洁实用2.使用方便3.整体性好4.形象突出5.交互式强一、更多推荐欢迎来到我的CSDN主页!您的支持是我创作的动力!Web前端网页制作、网页完整代码、大学生期末大作业案例......
  • Web前端-3小时教你打造一个聊天室(websocket)
    Web前端-3小时教你打造一个聊天室(websocket)01-websocket概念02-H5中新增的websocketAPI03-nodejs开发自己的websoket服务04-使用websocket开发一个基本的聊天室05-使用websocket实现简单的聊天室06-socketio的基本用法07-socketio的基本用法08-使用socketio开发聊天室-登......
  • WebSocket入门与案例实战
    WebSocket入门与案例实战https://www.bilibili.com/video/BV1hF411k7bj/?vd_source=d10c649e248b08f4441d8cd6b76f46fc1课程介绍学习内容WebSocket概述为什么?Java接入WebSocket的两种方式怎么用?实战:多人聊天室在哪用?我们会想到要去使用这个WebSocket熟悉Java语法了解Ma......
  • JavaScript 的模块化:AMD、ES Module 和 Webpack
    一、AMD(AsynchronousModuleDefinition)什么是AMD?AMD是一种为浏览器环境设计的模块定义规范。它通过异步加载模块,解决了早期前端开发中JavaScript文件依赖关系复杂的问题。require.jshttps://requirejs.org/docs/api.html#jsfiles语法示例define(['dependency1','......
  • 调用WebService异常:提供的 URI 方案“https”无效,应为“http”。 (Parameter 'via')
    解决办法:varbinding=newBasicHttpBinding();binding.Security.Mode=BasicHttpSecurityMode.Transport;<bindings><customBinding><bindingname="ZWS_CUST"><mtomMessageEncodingmes......
  • # electron 打包 webview 嵌入需要调用电脑摄像头拍摄失败问题
    electron打包webview嵌入需要调用电脑摄像头拍摄失败问题这篇文章是接我cocos专栏的上一篇文章继续写的,我上一篇文章写的是cocos开发触摸屏项目,需要嵌入一个网页用来展示,最后通过electron打包成exe程序,而且网页里面是需要调用电脑摄像头进行拍摄的。问题通过前一篇......
  • 最火前端 Web 组态软件 (可视化)
      前言:随着物联网、大数据等技术高速发展,我们逐步向数字化、可视化的人工智能(AI)时代的方向不断迈进。智能时代是工业4.0时代,我国工业领域正努力从“制造”迈向“智造”的新跨越。正文:1.mxgraph:介绍:开源免费,但是需要解决的问题很多,国内学习参考资料少。但是,可视化组态的......
  • maven仓库配置,Tomcat配置,javaweb项目创建
    把maven安装到一个没有中文目录下的文件夹中maven官网下载地址:下载地址:DownloadApacheMaven–Maven配置仓库进入maven文件夹在maven文件夹中创建仓库文件夹(注意不要中文)然后进入conf文件夹中的setting.xml文件打开,找到以下位置添加以下文件,配置阿里云私服<mirror>......