六月WEB安全技术专题——说说那些安全的事

团队简介:

 

白帽子社区技术团队由多位优秀开发工程师,安全工程师,以及数名优秀安全技术人员自发组成,团队本照 公平,公正,公开的理念来经营,并已经举办数次线上技术交流活动,现已推出,月度技术专题,优秀技术分析  今后将会陆续推出线上活动:产品研发交流,名人专访,技术成果分享,优秀作者技术专栏,新手公开课等多项活动,来让更多人了解和学习到更全面的安全技术。同时在今后我们还会举办CTF线上技术比赛和线下沙龙活动,让各位更近距离的接触到技术大牛学习更好的安全技术。

本次专题的核心主题经各位用户的一致投票决定为WEB安全系列,本次我们将围绕这个主题以平时所积累的众多经验对其展开全方面的研究和实例说明,让各位了解到如今存在的各种各样的风险以及如何防御这些存在的威胁。

 

文档声明:

本文档意在为广大安全技术人员提供科普教材提高网络安全意识,非法利用本文档中的技术对他人进行非法攻击的,造成的任何后果与本文档及社区团队无关。投稿人投稿内容对他人企业造成不良影响以及损失由投稿人承担。

 

 

 

 

一.WEB安全现况分析

 

随着网络时代的不断变更,越来越多的企业或者政府机构开始从电视广播,广告转变为网络宣传,网络通知这无疑加快了信息传播的速度以及扩大了传播范围,但由此而来的则是大量的地网络攻击与数据泄露,各种安全公司也在不断地修复漏洞推出安全产品但是网络攻击并没有因此停止,每年因为网络攻击造成的损失高达上千亿,我们也不得不深思造成这种现况的原因。

 

1.企业网站安全问题

企业网站多适用于各中小型企业,业务范围更多的是体现在个人经营或者信息发布或广告宣传,大多数采用的是独立开发的程序,而这种网站也是最为容易被攻击的对象,因为其首先是规模较小,第二此类网站有许多涉及财产交易所以在多数黑产交易中此类网站占有很大的比例,第三由于是独立开发的程序多数企业没有对程序进行良好的安全性审计所以就有可能存在很多的程序漏洞,但是由于多数企业的经营范围较小,所以大多数的企业不愿意承受高昂的维护费用,所以大部分的企业都轻视了安全方面的重要性,像SQL注入这种高危漏洞大多数都发生在此类网站中,于是就造成很多刚踏入安全行业的人都可以轻而易举的拿下很多企业网站。

2.社交网站安全问题

社交网站多数为论坛,社区等可多用户注册的网站,此类网站大多是采用通用CMS程序来搭建所以在程序安全上要高于企业网站的安全,但是没有绝对的安全程序,社交网站由于其程序的公开性也为其他用户寻找漏洞带来了便利,而且由于其庞大的用户数据也同样成了黑产交易中的主要目标,但最重要的一点还是漏洞的生命周期,从漏洞的产生到通知官方修复再到补丁的推出这一过程的时间决定了用户信息财产安全是否能得到保障。

二.漏洞种类详解

NO.1  SQL注入漏洞

 

SQL注入漏洞正如我们在第一部分说的那样绝大多数还是出现在中小型企业网站上,但同样一些大型企业或政府机构也存在此类漏洞,造成SQL注入的主要原因是带入查询不合法的SQL语句,而造成不合法SQL语句的手段有很多种所以导致SQL注入漏洞一直是WEB安全中的一个重大威胁,由于漏洞的危害大且利用的简易性也成为多数黑客眼中拿WEBSHELL以及窃取用户信息的重要路径之一。

 

注入漏洞分类:

GET注入

POST注入

COOKIE注入

盲注

宽字节注入

延时注入

字符串截断注入

双编码注入

排序注入

 

对于SQL注入漏洞的认识多数人依旧停留在 and 1=1 and 1=2报错上面,然而随着网络安全知识的普遍性这种手段也逐步的落后,SQL注入漏洞也逐渐变的隐匿起来,以往的过滤思维也变得难以抵挡黑客的攻击。

以下分析几段漏洞代码

首先看一下最简单的


$name=$_REQUEST[name];

$sql=SELECT * FROM ADMIN WHERE name=$name;

$res=mysql_query($sql);

 

//此段代码对用户传入的参数未做任何的过滤,直接导致了SQL注入的产生

看一下进阶的


$name=$_REQUEST[name];

$sql=SELECT * FROM ADMIN WHERE name=$name’”;

$res=mysql_query($sql);

 

//此段代码对变量添加了单引号的保护,但同样我们可以提交  a or a=a #这种方法对其进行绕过

 

中级的


$name=$_GET[name];

$sql=SELECT * FROM ADMIN WHERE name=$name’”;

If($res=mysql_query($sql)){

  $res=mysql_fetch_row($res);

  print_r($res);

} else{

  echo 内容不存在;

}

 

//此段代码对查询不正确的信息做了一个友好的返回结果,但万变不离其宗这SQL注入还是存在,产生了盲注漏洞

高级的


//论坛程序

 

$passwd=md5($_REQUEST[passwd]);

$sql=SELECT * FROM ADMIN WHERE name=admin and password=$passwd’”;

If($res=mysql_query($sql)){

  echo 登陆成功;

}else{

  echo 登陆失败;

}

//这段代码限制了用户名并对密码进行md5加密导致用户无法使用敏感字符来测试是否存在注入,但是如果我们注册了一个admin              的用户名用其登陆就可以成功的登录到管理员账号

以上我们只是挑选了一些经典的漏洞类型,当然其他还有很多产生的原因,由于篇幅和漏洞出现概率的原因我们这里就不再一一展示。

以上内容摘自文档内容。完整文档请点击以下链接下载。

链接:http://pan.baidu.com/s/1pLbQf1p 密码:sjhz

官方公众号:白帽子社区

官方交流群:298818545

时间: 2024-07-28 18:27:09

六月WEB安全技术专题——说说那些安全的事的相关文章

Web安全技术实验3

反射型XSS(get): ? ? 不会进行过滤. ? 前端对输入长度做了限制,我们需要修改一下才能输入完整的payload. ? 我们输入的payload嵌入了到了 p 标签里面,被浏览器正确执行了 ? 反射型XSS(post): ? 参数内容不会出现在URL中 存储型xss: 不会进行过滤 输入<script>alert("xss")</script> DOM型XSS: ? ? 查看源码 观察了闭合的方式,使用payload '><img src=

Web安全技术(4)-常见的攻击和防御

对于一个Web应用来说,可能会面临很多不同的攻击.下面的内容将介绍一些常见的攻击方法,以及面对这些攻击的防御手段. 一.跨站脚本攻击(XSS) 跨站脚本攻击的英文全称是Cross Site Script,为了和样式表区分,缩写为XSS.发生的原因是网站将用户输入的内容输出到页面上,在这个过程中可能有恶意代码被浏览器执行. 跨站脚本攻击可以分为两种: 1). 反射型XSS 它是通过诱使用户打开一个恶意链接,服务端将链接中参数的恶意代码渲染到页面中,再传递给用户由浏览器执行,从而达到攻击的目的.如下

Web安全技术(3)-浏览器的跨域访问

http://www.blogjava.net/linli/archive/2015/04/22/424584.html 一.浏览器介绍 对于Web应用来说,浏览器是最重要的客户端. 目前浏览器五花八门多得不得了,除了Chrome.IE.Firefox.Safari.Opera这些国外的浏览器外,百度.腾讯.360.淘宝.搜狗.傲游之类的,反正能做的都做了. 浏览器虽然这么多,但浏览器内核主要就以下4种: Trident:IE使用的内核. Gecko:Firefox使用的内核. WebKit:S

web 部署专题(三):压力测试(一)工具 siege

1.介绍 Siege是一个压力测试和评测工具,设计用于WEB开发这评估应用在压力下的承受能力:可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行. 2.安装 Linux下安装siege wget http://download.joedog.org/siege/siege-latest.tar.gz tar -xvf siege-latest.tar.gz cd siege-version/ ./configure make m

web安全技术--XSS和CSRF

Xss一般是脚本代码,主要是JS的,但是也有AS和VBS的. 主要分为反射型,存储型,DOM型三个大类. 一般来讲在手工测试的时候先要考虑的地方就是哪里有输入那里有输出. 然后是进行敏感字符测试,通常来讲会把  < > " ' ( ) &?这样的敏感字符进行测试然后查看服务器有没有防御或者转义措施. 还与就是几个HTML标签的插入和一些不闭合标签的插入.看一看过滤和是否被HTML编码了.然后还可以看看不闭合是否过滤. 然后就是测试js代码 <script> ale

Web安全技术 实验报告四 文件包含与上传

一.文件包含 1.File Inclusion(local) 选择kobe测试 发现url出现变化 可以猜测此功能为文件包含,包含的文件为 file1.php,所以我在此盘符的根目录下建立了一个flag.php文件,再测试. 发现可以读取根目录下的flag文件,存在本地文件包含漏洞. 2.远程文件包含 原文地址:https://www.cnblogs.com/p201721240019/p/12076309.html

web 部署专题(五):nginx 安装(一) 树莓派

1.安装Nginx sudo apt-get install nginx 2.启动Nginx sudo /etc/init.d/nginx start 3.测试安装是否成功(nginx默认是80端口). 将树莓派的ip地址设为静态ip(我的是192.168.31.102),先从内网测试是否安装成功,在同一个局域网的机子上的浏览器上访问 192.168.31.102.如果出现下图则说明nginx安装成功: (或者在机子上的浏览器上直接输127.0.01:80) 4.修改nginx配置文件(使得ng

StackExchange:Web开发中你需要知道的事

在StackExchange上有人问了这样一个问题:What should every programmer know about web development?(关于Web开发,什么是所有程序员需要知道的?)里面给出的答案非常不错,所以,我翻译转载过来. 顺便说一下,StackExchange真是非常好,大家可以对同一个答案做贡献和修订,看看这个问题的修订过程你就知道了——专业的问答网站应该怎么去做.这就是我在这篇文章中也说过真正的用户体验是什么样的. 好了,下面是正文(我对原文做了一些批注

【Web探索之旅】第四部分:Web程序员

内容简介 1.第四部分第一课:什么是Web程序员? 2.第四部分第二课:如何成为Web程序员? 3.第四部分第三课:成为优秀Web程序员的秘诀 第四部分:Web程序员(完结篇) 大家好.终于来到了[Web探索之旅]的最后一部分. 我们的第二和第三部分都略有难度,不过这第四部分和第一部分一样,都会比较轻松愉快. 这一课我们来聊一聊Web程序员,Web的文化,如何成为一名优秀的Web程序员. 或许看完这部分,你会跃跃欲试,想要成为一名Web程序员也不一定.毕竟现在Web程序员还是比较吃香的. 第四部