比较常见的 web 漏洞有:SQL注入、XSS跨站站点脚本、CSRF跨站请求伪造等。由于所在团队或者公司均有严格隔离的内网环境和基础运维团队,对弱口令漏洞、敏感信息泄露漏洞等很少涉及。
先简单的聊一聊 SQL 注入,这个基本上是最常见的 web 漏洞了。SQL注入攻击(SQL Injection),简称注入攻击、SQL注入,被广泛用于非法获取网站控制权,是发生在应用程序的数据库层上的安全漏洞。在设计程序,忽略了对输入字符串中夹带的SQL指令的检查,被数据库误认为是正常的SQL指令而运行,从而使数据库受到攻击,可能导致数据被窃取、更改、删除,以及进一步导致网站被嵌入恶意代码、被植入后门程序等危害。比如执行下述 SQL 时
String sql = "select * from user where username = '" +uname "' and password = '" + pwd + "'";
# 输入用户名为: tom' or '1=1 , 密码不输入或者随便输入, SQL如下:
select * from user from username = 'tom' or '1=1' and password = '你输入的密码'
有了or 自然只要username = 'tom' 成立, 后面的也不会起作用,这个sql基本上是很常见的比较典型的 SQL 注入问题,在直接使用 JDBC进行 SQL 拼接操作时,很容易引发这种情况。通常情况下,SQL注入的位置包括:
(1)表单提交,主要是POST请求,也包括GET请求;
(2)URL参数提交,主要为GET请求参数;
(3)Cookie参数提交。
将JDBC代码中的Statement 换成 PreparedStatement ,使用预编译机制进行 SQL 注入预防,最普遍的是选用 Mybatis 或 Hibernate 等持久化框架,避免 JDBC 的直接使用,并在 Mybatis 的 SQL 中使用 '$' 符号替换'#',使预编译机制起作用。
接着我们聊聊XSS跨站站点脚本,跨站脚本攻击(Cross-site scripting,通常简称为XSS)发生在客户端,可被用于进行窃取隐私、钓鱼欺骗、窃取密码、传播恶意代码等攻击。XSS攻击使用到的技术主要为HTML和Javascript,也包括VBScript和ActionScript等。XSS攻击对WEB服务器虽无直接危害,但是它借助网站进行传播,使网站的使用用户受到攻击,导致网站用户帐号被窃取,从而对网站也产生了较严重的危害。对于这个我是有亲身体会的,我的应用是基于Java + Velocity 实现的请求转发应用,比如通过 个小时,才完成解决这一漏洞。
顺便提一下,还有一种漏洞在运营维护过程中遇到过,在登录注册模块,由于当时刚参加工作不久,欠缺研发经验,在注册环节未使用验证码,导致大量的注册机注册,给非法用户牟利带来方便,在短信验证阶段,为处理非法验证和重复发生的问题,导致一些运营商手机号,被非法用户触发发生短信验证码,给用户造成困扰,引起用户向运营商投诉,对公司声誉造成一定影响。这个事情也是自己亲身经历,面向C端用户的研发,要多考虑安全方面的问题,既要让用户用起来方便,又需要避免安全问题,并且一旦发现安全问题,要具备及时止损的措施的应对预案。
作者:夕阳雨晴,欢迎关注我的头条号:偶尔美文,主流Java,为你讲述不一样的码农生活。
在大数据快速发展的现今阶段,不管多大多小的企业都会存在网络安全问题。有些人就很疑惑,哪里会存在问题呢?事实是只要你的业务是线上的,您有网站就会出现安全问题。其中包括用户隐私信息被不法分子盗取,企业敏感数据被窃取贩卖或者重要数据被删除等,都是会给企业造成致命性的打击。那么今天主要分享下网站被攻击者盯上,我们该如何快速解决网站中存在的Web漏洞?
首先,在我们接触中,最直接的可能就是通过URL 跳转漏洞。大家都知道URL 跳转是正常的业务功能,而且大多数网站都是需要进行 URL 跳转。但需要跳转的 URL有着可控性,因此中间可能会出现URL 跳转漏洞。而攻击者就是利用了其中这一漏洞,将一些程序跳转到钓鱼,涉黄,涉赌等网站。以来获取用户的账户信息,敏感数据等操作。而且URL跳转漏洞的测试难度小,由此可以导致实质性的大量危害。
其次那些细节可能会存在漏洞呢?墨者安全认为其一:最开始的用户登录,认证的正常页面可能存在URL跳转漏洞;其二:可能存在URL跳转漏洞的是站内的一些其他外部链接,当你点击跳转时就会指向那些不合规的网址;其三:可能存在URL跳转漏洞的是嵌套式的跨网站认证和授权等。以上的情况都有可能是跳转到网络犯罪分子控制的网站中。
最后如何快速解决网站中存在的Web漏洞?
1.定时排查式:主要是定期定时每天对需要跳转的程序参数进行判断,然后根据参数确定是否有特殊的字符开头或结尾判断 URL的合法性。
2.防护式:因为各个不同的网站都是由不同的代码结构和编程语言开发出来的,因此对它们的防护方式也不同,比如说利用不同的特殊符号@、///等加在域名前或者当做后缀来进行防护。(需要的是有些特殊符合不能添加成功的,比如双引号,封号等)
在大数据快速发展的今天,随着国家对网络安全问题的重视以及推行,从而也影响了大多数的企业着重注视这个问题,同时对加强网络安全建设开始大量的投入布局。以此来避免更大的损失以及潜在的网络安全威胁。
绝大部分的黑客寻找系统漏洞都不需要知道源代码,因为源代码大多都是保存在系统研发公司的内部服务器上,外网一般是不能访问这些服务器的。而放在线上服务器的系统文件,黑客如果想要获取下来,也是需要攻破服务器,如果服务器都攻破了,我还要你系统文件干嘛?
那么,黑客一般的攻击手段有哪些呢?首先,黑客基本不会手工的去攻击某个系统或者服务器,都是通过一些工具来完成的,通过编写少量的代码,然后工具包装以后,向服务器或者系统发送请求。
最常见的攻击手段之一:注入攻击
注入攻击也较SQL注入攻击,是对于系统的危害是非常大的一种攻击方式。所以也是安全性测试中,必须要封堵的一种漏洞。原理其实也非常简单,就使用类似爬虫一样的工具,找到系统中所有的请求地址,然后在请求参数中构建一段注入的代码,一旦系统中存在注入的漏洞,那么这段代码将会在数据库中执行。
那么比较简单的结果就是,数据库被注入了一段木马脚本,所有用户登录这个系统时,都被感染了木马;或者是把一个管理员用户给加入到了系统中,黑客就通过这个用户登录到了你的管理后台。那更为严重的可能就是注入了一段删除数据库的脚本,你的所有数据都被删除干净。
最常见的攻击手段之二:重放攻击
对于黑客来说,他们有很多的手段可以截获你的请求消息。例如:你如果连接了一些公共的Wifi,那么你的消息包就可能被黑客截获。
但是,由于你所使用的APP在请求前是进行了消息加密的,黑客们想要破解密文难度很大,那么,最简单的方式就是把报文原封不动的再次发出去,从而对发送端用户造成一些麻烦。
当然,重放攻击这种手段大多数时候都是损人不利己的。可能就是有的用户在发了一条微博,微博系统也没有做幂等性的效验,那么黑客就不停的向微博推送这个消息,导致你的微博账号里面连续发送了成百上千条的同样文章。
不过,如果这条消息是你的转账请求,那么如果遭遇到了重放攻击,那么损失的就是真金白银了,所以,手段虽然比较low,但是危害也可能不小。
最常见的攻击手段之三:点击劫持
点击劫持其实是一个非常小的系统漏洞,黑客通过在你打开的网页中设置一个透明的区域,里面放一些他希望你做的动作,但是你其实是看不见的。当你点击页面上的某个按钮时,可能就会发生出乎你预料的事情。这种攻击方式就是点击劫持。
这么一个小漏洞的危害应该是可大可小,大部分时候,也就是骗骗你的流量。但是也有可能,骗取到你的一些账号密码信息。
当然,这些手段都是针对于系统上进行攻击的手段。可能很多的顶级黑客不一定看得上这些手段,他们会直接针对于服务器进行攻击。
如果要对服务器进行攻击的话,那么首要的就是端口扫描。如果我们有一点服务器的知识,我们可以去看看我们架设在互联网中的服务器,基本上所有的服务器都被不明来源的工具进行着端口扫描。
端口扫描的目的是什么呢?
端口有很多的意义,我们这里仅仅说网络端口。网络端口就是计算机对外进行数据传输的一个出入口。很多端口,其实都有着特定的意义,例如:web网站的默认端口是80,mysql数据库连接的默认端口是3306。
而通过端口扫描,就可以知道一台计算机有哪些端口对外开放,如果是一些已知意义的端口,那么就可以有针对性的进行破解操作。
针对端口的话,最常见的攻击手段就是爆破。
也就是暴力破解。如果我们设置的密码强度不够的话,那么分分钟就可能被破解,那么黑客就可能远程控制你的主机,或者远程连接上你的数据库等等。那么接下来,你的系统就是他想怎么玩就怎么玩了。还有可能,他会在服务器上留下新的后门,即使你修改了密码,下次黑客还可以通过自己这次设置的后门远程连接你的电脑。
所以,密码别设置得太简单。
在中美黑客大战中,中国的黑客就展示了另一个常用的攻击方式DDOS。
DDOS攻击的原理非常简单,就是使用多个计算机,在一个时间段内,想一个或多个目标发送需要回复的网络请求。由于目标计算机的网络承载和磁盘承载都是有上线的,突然接收到大量的网络请求,就可能造成目标计算机的系统资源或者网络资源瞬间消耗殆尽,从而无法继续响应其他的网络请求。
这种攻击方式,一般都是用来瘫痪某个目标系统,手法也非常简单粗暴,并且攻击者很难被发现。所以,中美黑客大战中,中国红客就是通过这种攻击方式,瘫痪了美国白宫的官方网站。
当然,黑客的手段还有很多很多,这里并不能全部都一一介绍,而且科技在发展,黑客技术也在发展。但是,这个世界不需要黑帽子,在互联网的暗网中,还存在着各种的没有底线的交易,我更希望懂得黑客技术的人,成为白帽子、灰帽子,为网络安全贡献一份自己的力量。
我现在用的是阿里云的服务器,阿里云服务器里面就有一个叫安骑士的漏洞防护和扫描修复的工具,免费版可以扫描漏洞,但是修复需要付费升级为高级版或者企业版。不过小麵兄的是个人网站,并不值得破费钱财去修复那些鸡毛蒜皮的小漏洞。
我也说说现在在用的两个免费漏洞扫描工具吧。
百度云观测
这个工具还是百度刚出站长工具不久后配套的一个在线网站监控工具。
该工具的功能有以下几点:
1、实时查看综合安全指数和历史安全指数变化;
2、网站环境项目的检测,并提示对应项目的安全状态与修复建议;
3、支持查看网站最近30天的安全事件;
360网站安全检测
小麵兄以前的网站都是用开源程序织梦建站的,由于这一类网站是开源性的,被修改的频率都比较高,有些不怀好意的人留着后门什么的程序也不奇怪。以前就是通过360网站安全检测在线扫描给修复了,虽然扫描的时间比较长。
但是最近360网站安全检测工具貌似把该工具分离出去了,变成了现在的奇安信网站检测工具。
目前通过360账号仍然能登录该工具,界面和功能都做了些变化,貌似也逐步形成收费工具了。
因为是个人小网站,用些免费轻便的工具,如果有重要数据的网站,建议还是使用些更安全的策略部署工具。
网站备案是指网站服务商帮助网站所有人给网站做域名备案。网站所有人需要提供给网站空间服务商备案资料。给域名备案需要网站服务商协助,只有域名是无法备案的。备案针对网站备案,只注册域名不用备案,域名做网站就...
中文域名的好处就是有利于保护品牌,更易记。中文域名,有不同的后缀,比如中文.com 中文.net 中文.hk等等。中文域名举例:注册。...
普通流程是,首先是要购买一个服务器(或者虚拟主机、云主机、云服务器等)。域名相当于你家的门牌号码,别人可以通过地址找到你家。而服务器就相当于你的家,不管你家是茅草屋还是大别墅。茅草屋相当于虚拟主机,豪...
你可以去查询域名whois信息,找到域名持有人的联系方式,一般是邮箱,但也有做了whois隐藏的,你查不到,查到的可能也不是真实的。所以你也可以去找域名注册商或者是有做域名回购的公司,申请域名回购服务...
域名服务器是什么?其实这是两个产品的叫法,一个是域名,一个是服务器,那么域名我们在之前的文章中说了很多遍了,今天我们来说说服务器是什么。 什么是域名服务器? 域名服务器也就是我们常说的DNS服务器,是...
可以备案啊,而且(qiě)国內(nèi)也要求(qiú)备案,不备案网站被关的可能性很大,域名备案所需资料有:1.公司营业执照副本一张2.网站所有者身份证复印件一张3.网站备案信息(xī)真实性核验单...
什么是电商,简单的说就是电子商务、网上购物,但是电商绝对不只是开一个淘宝店铺或者去做一个淘宝。大多数企业在刚刚开始做电商时候,对电商的理解都只是一个初步的概念:企业直接对接消费者,去除中间商的差价,赚...
淘客其实是“淘宝客”的简称。 淘宝客是淘宝商家的推广方式之一,阿里妈妈官方平台是淘宝联盟。 淘客就是通过推广淘宝联盟的商家产品,销售岀去,赚取佣金。淘宝商家通过阿里妈妈设置优惠券,淘客推广,前期快速...