【笔记】网易微专业-Web安全工程师-02.WEB安全基础

课程概述:

万丈高楼平地起,楼能盖多高,主要看地基打的好不好。学习任何知识都是一样的,打好基础是关键,通过本课的学习,你将了解一些常见的Web漏洞,以及这些漏洞的原理和危害,打好地基,为后面建设高楼大厦做好准备。

课程大纲:

第一章.无处不在的安全问题

第一节.常见的安全事件

第二章.常见Web漏洞解析

第一节.XSS

第二节.CSRF

第三节.点击劫持

第四节.URL跳转

第五节.SQL注入

第六节.命令注入

第七节.文件操作漏洞

笔记心得:

1. 无处不在的安全问题

“钓鱼”:利用各种手段,仿冒真实网站的URL地址以及页面内容,或利用真实网站服务器程序上的漏洞在站点的某些网页中插入危险的HTML代码,以此来骗取用户银行或信用卡账号、密码等私人资料。

“篡改”网页:谷歌搜索intitle:hacked by可以搜索出曾经被黑过的网站,搜索引擎语法还有:Intext/Site等

“暗链”:一种是你主动隐藏于别人网站的链接,或许你是做网站的,或许你曾经拥有某个网站的后台,能够添加上去(提高SEO);还有一种情况是别人盗取你的模版,但是上面存在很多你的绝对地址,这样就导致了暗链。

“webshell”:以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门。黑客在入侵了一个网站后,通常会将asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。webshell可以穿越服务器防火墙,由于与被控制的服务器或远程过80端口传递的,因此不会被防火墙拦截。并且使用webshell一般不会在系统日志中留下记录,只会在网站的web日志中留下一些数据提交记录,没有经验的管理员是很难看出入侵痕迹的。


2. 常见web漏洞解析

这里只要简要介绍一些这些概念,具体的原理,案例,防御手段,会在后续中详细说明。

2.1 XSS

Cross Site Script:跨站脚本攻击

攻击者向有XSS漏洞的网站中输入(传入)恶意的HTML代码,当其它用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击的目的。如,盗取用户Cookie、破坏页面结构、重定向到其它网站等。理论上,所有可输入的地方没有对输入数据进行处理的话,都会存在XSS漏洞。

  存储型 反射型 DOM型
触发过程
1. 构造XSS(攻击者)2. 访问(用户) 访问携带XSS的链接 访问URL
数据存储
数据库 URL URL
谁来输出 后端WEB 后端WEB 前段JS
输出位置
HTTP响应 HTTP响应 动态构造的DOM节点

存储型:持久化,代码是存储在服务器中的,例如黑客提交了一篇带恶意脚本的博客,过滤不严时被存储在服务器中,当其它用户访问时,就会触发脚本,执行恶意操作。受害者较广。

反射型:非持久化,需要欺骗用户自己去点击链接才能触发XSS代码,例如对于网站W的用户U,不小心点击了一个链接,暗中将他的cookie发送到由攻击者构建的网站。受害者为少数用户;

DOM型:取决于输出位置,并不取决于输出环境,DOM XSS 是由于浏览器解析机制导致的漏洞,服务器不参与,而存储型与反射型都需要服务器响应参与。

2.2 CSRF

Cross Site Request Forgery 跨站请求伪造

伪装来自受信任用户的请求来利用受信任的网站,或者说利用用户已登录的身份(cookie),伪装成用户操作。

举个例子:用户A正在XX银行的网站上进行操作,突然收到一个诱惑的图片链接,A随手一点,果然看到某日本女星的诱惑写真,可是过了一会儿收到短信提醒,已经转出1000元至B账户,这当中发生了什么?可能的方法是:B构建了一个长宽都为0的页面,并设置隐藏,当A点击图片链接时,图片加载时触发了表单提交操作(转账1000元),由于当前cookie还生效,因此提交成功。

2.3 点击劫持

一种视觉上的欺骗手段。大概有两种方式,一是攻击者使用一个透明的iframe,覆盖在一个网页上,然后诱使用户在该页面上进行操作,此时用户将在不知情的情况下点击透明的iframe页面;二是攻击者使用一张图片覆盖在网页,遮挡网页原有位置的含义;

tip:很多通关小游戏就是利用这些方法,让用户在玩游戏的过程中,诱导用户点击某个区域,提交信息。

2.4 URL跳转漏洞

利用用户信任的网站,跳转到恶意的网站。

例如,在一个看起来很常见的网址链接后加上恶意链接

http://mail.qq.com/......&url=http://black.com

现在很多恶意链接可以进一步伪装成短链接的形式t.cn/black,更具迷惑性。

查看网页源代码,找出跳转链接 url.php?url=......

几种跳转方式:

Header头:header("location: ".$target);

JS:<script>window.location.href=\"$target\"</script>

META标签:http-equiv="Refresh" content="5"; url=...

2.5 SQL注入

本质:数据和代码未分离,即数据当做代码来执行

怎么理解呢?举个例子,当我们忘记一个网站的密码时,不妨试试万能密码admin‘--,也许就能不用密码而登录,这是为什么?这是因为服务器可能在验证用户时执行了以下语句:

select * from users where user_name = ‘$NAME‘ and password = ‘$PWD‘;

这就变成了:

select * from users where user_name = ‘admin‘-- and password = ‘$PWD‘;

SQL注入有两个条件:一是可以控制输入的数据;二是服务器拼接SQL执行;

2.6 命令注入

windows的DOS和linux的Bash有很多系统命令可以利用

如:ipconifg/net user/dir/find等

执行过程:

a. web调用可执行系统命令的函数,如PHP中的system/exec/eval等;

b. 函数或函数的参数可控;

c. 拼接注入命令;

举个例子:常用的输入网址查看ip的网页,如果输入www.baidu.com && net user,则由于&&的作用,就有可能返回系统用户信息;

2.7 文件漏洞

很多网站提供用户上传头像,附件等文件,也提供下载app或exe等操作,攻击者可利用这些操作实现上传webshell和木马等,或者下载web上的任意文件和代码等;

文件上传:上传php文件,在浏览器地址栏里输入执行;

文件下载:解析下载请求地址,修改并执行;

文件包含:在通过PHP的函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入。利用include/require/fopen/allow_url_include等操作。

原文地址:https://www.cnblogs.com/kplayer/p/8467486.html

时间: 2024-10-05 05:41:35

【笔记】网易微专业-Web安全工程师-02.WEB安全基础的相关文章

网易微专业大数据工程师

本微专业由国际知名教育集团Wiley开发,面向全球化需求,并由Boolan博览网结合国内应用进行扩充.助你系统掌握大数据必备技能和核心技术,包括工具选择,存储.编程.处理和管理数据架构等.全网独家大数据双语课程.英文内容,中文字幕,原版内容,保证质量.Wiley权威教育资源,顶尖国外公司高管.国内一线工程师协同开发,Boolan博览网学习服务支持.强强联手,打造最有特色的大数据课程. 课程安排1.大数据基础必修 做为一名大数据工程师,不仅仅要了解核心技术,还需要了解技术架构是如何和商业环境.业务

网易 微专业

目前买了以下的网易微专业课程,需要的可留言. iOS开发工程师 测试工程师 新媒体视频导演 前端开发 web安全 交互设计师 产品经理 独立音乐制作人 产品运营 安卓 UI设计师 java开发工程师 python web IT项目管理 C++开发工程师

【笔记】网易微专业-Web安全工程师-05.WEB安全体系建设

课程概述 未知攻,焉知防?通过前面的课程我们掌握了各种攻击技巧,本课将教会大家如何在企业进行安全建设,达到知攻知防的境界,这也是各个公司最终需要的安全人才. 课程大纲 第一节.SDL介绍 第二节.漏洞和事件处理 第三节.安全运营概述 1. SDL介绍 安全开发生命周期(Security Development Lifecycle) 培训:核心安全培训 需求:安全需求分析/质量要求,Bug数量/安全和隐私风险评估 设计:设计需求分析/减小攻击面 实施:使用指定工具/启用不安全函数/静态解析 验证:

【笔记】网易微专业-Web安全工程师-04.WEB安全实战-2.暴力破解

KP君之前买了一个拉杆箱,在初始设置密码时不熟悉步骤,一时手抖,密码已经设好,但不知道设置了什么密码,欲哭无泪.想要找回密码,只能一个个试验,拉杠箱的密码锁有3位,对应000~999,那么最多需要1000次就能打开密码,这就是简单的"暴力破解". 暴力破解(Brute Force):核心就是"穷举法",猜出用户的密码.看起来似乎工程量很大,但是通常用户设置密码都不太复杂,因此利用常用的密码字典,就能破获大部分的密码.理论上来说,只要给定足够的时间,暴力破解就一定能破

【笔记】网易微专业-Web安全工程师-04.WEB安全实战-3.命令注入

命令注入(Command Injection):是指通过提交恶意构造的参数破坏命令语句结构,从而达到执行恶意命令的目的. 前面的基础课程中,我们提到命令注入需要三个条件: 1. 是否调用系统命令? 2. 函数/参数是否可控? 3. 是否拼接输入? 具体怎么应用,我们在接下去的实战中学习和体会. DVWA实战: 1. 打开phpStudy或xampp,运行Apach和MySQL: 2. 浏览器进入DVWA主界面,在左侧栏选择DVWA Security安全等级为Low,然后进入Command Inj

【笔记】网易微专业-Web安全工程师-04.WEB安全实战-8.SQL盲注

上一节我们在实战中介绍了SQL注入的原理和危害,这一节我们要实战SQL盲注,与普通的SQL注入相比,数据库返回的结果不会显示在页面上,只会返回成功/失败或者真/假,这无形中加大了我们注入的难度. SQL盲注的一种思路:采用where语句"真and真=真","真and假=假",把我们需要确定的条件放在and之后,当我们的猜测为真那么返回为真,猜测错误则返回为假.具体怎么应用呢?我们在实战中学习. DVWA实战: 1. 打开phpStudy或xampp,运行Apach和

微专业Python爬虫工程师

百度云盘 什么是爬虫? 爬虫可以做什么? 爬虫的本质 爬虫的基本流程 什么是request&response 爬取到数据该怎么办 什么是爬虫? 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模拟程序或者蠕虫. 其实通俗的讲就是通过程序去获取web页面上自己想要的数据,也就是自动抓取数据 爬虫可以做什么? 你可以爬取小姐姐的图片,爬取自己有兴趣的岛国视频,或者

web前端工程师入门须知

先说下web前端工程师的价值,目前web产品交互越来越复杂,用户使用体验和网站前端性能优化这些都得靠web前端工程师去做web前端工程师是 设计加开发的综合体,web前端工程师是在开发人员中最直接面向产品,面向用户的设计人员,一个开发团队的成果是要靠web前端工程师去展现,因为用户不 会去关心后台的处理有多么强大 :在设计人员中web前端工程师是直接面向开发人员的设计人员,向开发人员以一种计算机语言的方式传递其设计理念,web前端工程师在整个团队中是很关键 的. 在我眼中一名合格的web前端工程

什么是web前端工程师?要掌握哪些技术?

随着互联网的迅猛发展和普及,一个新型的行业和新兴的职位正在上升到技术的层面:web前端开发工程师.对于很多零基础的web前端初学者而言,什么是web前端工程师?Web前端工程师是做什么的?学习web前端能做什么?刚接触web前端都会被各种问题困扰.下面,千锋小编为大家一一解惑. 1.什么是web前端工程师? Web前端开发工程师,其工作岗位主要职责是利用(X)HTML/CSS/JavaScript/DOM/Flash等各种Web技术进行产品的界面开发(不过现在flash已经基本淡出网页元素了,而