Web服务器在外网能裸奔多久?
很多时候我们轻易地把Web服务器暴露在公网上,查看一下访问日志,可以看到会收到大量的攻击请求,这个是网站开通后几个小时收到的请求:
1. 探测服务器信息
在上线一分钟,收到OPTION请求探测。
现在他已经知道我用的是Apache, 操作系统是CentOS,可以开展针对性的进攻了。
Tips:您问怎么把Apache信息藏起来?有书啊
2. 命令执行攻击
上线半小时,收到大量利用WEB服务器命令执行漏洞的攻击。
如果您的服务器使用的是ASP或者Structs2并且开启了调试模式(大部分服务上线都先开着), 恭喜您,您在网络中安全生存的时间是半小时,服务器已被接管。
3. 配置漏洞-爬代码
很多项目使用svn管理代码,用ant或者mvn打包(好像基本上都是),如果没有正确配置打包脚本,.svn目录会打进war包,里面包含了您的所有源码。
有人会说,我不是设置了 robots.txt告诉他不要爬我的代码吗?
唉,这是一份绅士协议,百度、Google这类搜索引擎一看里面内容说不要爬我的内容,就礼貌地走了。
其他的则可能会理解为:有料
必须关闭默认的列目录权限,否则您的所有代码在网站开启4小时之内,已经被复制了。
4. 针对性漏洞攻击
来了,敌人已经知道您使用的是Apache, 直接利用apache漏洞进攻。
如果您使用的是Apache默认安装,并且没有打安全补丁,生命到此结束,估计80%的人都已经倒下了,已经活了8个小时,够了。
5. 攻击配置漏洞
通常我们在安装的时候会有安装程序、数据库工具等,例如使用MySQL的很多人会安装phpMyAdmin, 但是安装完之后几乎没有人去删除setup.php文件。
有些比较有安全意识的开发者在使用完关键信息后,会把文件删除,例如数据库安装脚本。但是会忘记当时有修改,自动产生了一个.bak文件。
很多时候你还没有向领导汇报系统安装完成,敌人已经用您数据库中的初始密码使用系统了。
还有,领导要求加强安全意识,必须要强密码,但是密码太多好难记啊,找个文件存起来不要忘记。
真实发生过的事情
还有一个场景,使用JAVA的 - 系统刚上线,要监控啊,开启Jconsole,甚至开启Web控制台是必须的(很多时候用Tomcat的,默认的Console都在),于是:
您方便,大家都方便啊。
6. 不安全的文件存储
管理员为了系统安全经常备份系统,很多系统做的很人性化,可以在线备份。但是很遗憾,文件存储在可访问目录:
如果有实施人员安装好网站,没有删除安装文件,就更方便了。
另外一个场景,日志对查找问题很重要,但是服务器很多时候不是能够直接访问的,去拿日志多麻烦啊,开个远程访问多方便;于是坏人也方便。
7. 配置漏洞-不安全的权限设置
这是利用apach漏洞篡改文件的架势啊,我的首页目录是可写的,已经被人加料了。
8. 操作系统漏洞 - 文件执行漏洞
有安全意识的开发人员把文件放到Web目录之外,安全多了。但是总得访问啊,于是得在代码里面把文件读进来,于是需要去查找一下文件:
密码已经给出去了。
9. 配置漏洞-不要用管理员启动服务
建个专门用来启动Web服务的用户很麻烦?但是是必须的。
您可能觉得这个不是小儿科,我发现两个点就清理掉:
10. 脚本注入
脚本注入你防了, 但有没有防%3Cscript ? 进一步有没有防ScRipt? 或者:%3cs%43ript%3e
11. SQL注入
看看您的数据库有几张表。
12. 留后门的下场
为了方便管理,需要留个后门统计信息,并且适当的时候可以远程管理,别人又不知道的。
若想人不知、除非己莫为。
13. 溢出攻击和三方管道
溢出攻击大意就是制造出越界,在越界时可以导致堆栈之外的值被篡改。这部分研究还不太了解。不过这个更像是试探,下面这个更像溢出:
后面全部是././, 至少好几K,估计是一直尝试到HTTP可接受最大报文。
三方管道很重要,因为大部分情况我们会防别人攻击,但是很少会防内部传输出去。敌人攻进来之后不是要住下不走了的,而是要把您的有价值的内容偷出去,那么进来是一回事,送出去又是一件事情了。很多服务器开启了Web访问权限,无异于为敌人的运输打开大门。
举个实例,您的系统有SQL注入,但不是UNION注入而是SQL盲注,那么坏人通过SQL注入能够窃取到您的数据库(拖库),这个文件如何送回来呢?
当然如果您的用户有很高的权限,把这个文件写到外网可访问目录即可。但是如果不能呢?于是需要建立一个三方管道,本节第一张图的第二行就是在对方服务器上登记了一下我的信息,如果登记成功,下次可以用这个HTTP通道传输数据了,甚至可以用80端口与对方的木马控制程序连接,后面的事情就和您远程桌面一样地方便。
所以,记得禁止服务器向外连接哦!限制Web服务器仅可以访问后台特定系统如数据库,是非常必要的。
14. SQL盲注
您问什么是SQL盲注?盲注就是闭着眼睛注入呗。例如您的Order By 子句有SQL拼接,这个地方没办法用Union把数据取出来,那我怎么判断注入成功与否呢?
这段指令如果接到Order后面,生成一个SQL语句:select .. from .. Order By if(now()==sysdate(),sleep(9),0)
now 肯定等于sysdate啊,敌人真傻哦!
您说对了,now 等于sysdate, 如果注入成功,请求应该9秒之后才返回,否则立即回来了。
再如insert和update注入,他们不会返回数据的值的,但是:
如果注入成功,应该延迟3秒,下次可以在这里发挥了,比如写个: shutdown; 或者:drop table tb_users
小结
现在有太多的自动工具,小黑不用懂神马专业技术,就可以轻松渗透进您的网站。网上有人说80%的机器都是肉鸡,按照本服务器开机就受到的攻击来看,毫不夸张啊!您如果没有系统性地制定安全防范,一旦接入外网,能够活过8个小时已经很不容易了
Web服务器在外网能裸奔多久?的更多相关文章
- IIS搭建Web服务器,外网可以访问,但无法加载视频
错误提示如下: 可能原因: IIS的MIME中未注册MP4.ogg.webm相关类型,导致IIS无法识别 解决方法: 在IIS中注册MP4.ogg.webm类型,以下以MP4为例,ogg和webm以此 ...
- 修改tomcat编码格式 & tomcat发布WEB项目供外网访问
1.修改tomcat默认编码格式: 修改tomcat下的conf/server.xml文件,找到如下代码: <Connector port="8080" prot ...
- 闲置安卓设备搭建Linux服务器实现外网访问
title: 闲置安卓设备搭建Linux服务器实现外网访问 这是我搭过的第一个博客系统,写贴纪念一下 待博主整理好思路,将今天所用到的全部分享! 好吧,我就是穷.富人靠科技,穷人靠变异.我这种穷人是真 ...
- Linux网卡配置文件路径是什么?要使服务器上外网,必须满足的条件有哪些?需要配置什么?
Linux网卡配置文件路径是什么?要使服务器上外网,必须满足的条件有哪些?需要配置什么? 答: 网卡配置文件路径:/etc/sysconfig/network-scripts/ifcfg- ...
- 服务器发布tomcat的WEB项目供外网访问
1.首先你要确定你有一个外网ip地址.如果你分配到的是一个局域网IP地址需要经过一系列的转换为外网ip地址,然后继续下面操作. 2.拿到外网IP地址,进行tomcat的server.xml文件的配置. ...
- 如何利用自己的电脑做服务器发布tomcat的WEB项目供外网访问
1.首先你要确定你有一个外网ip地址.如果你分配到的是一个局域网IP地址需要经过一系列的转换为外网ip地址,然后继续下面操作. 2.拿到外网IP地址,进行tomcat的server.xml文件的配置. ...
- Java微信开发_02_本地服务器映射外网
一.工具列表 内网穿透的相关工具有: (1)natapp 官网 :https://natapp.cn/ (2)花生壳 官网:https://console.oray.com/ (2)ngrok 官网: ...
- windows server配置ftp服务器以及外网访问
在Server2012打开 服务器管理器,选择 添加角色与功能,添加Web服务下的FTP服务器 安装后. 我们现在C盘创建一个名字为FTP的文件夹,里面创建一个ftp的文件,做测试用,如图 打开服务器 ...
- Java微信公众平台开发_01_本地服务器映射外网
做微信开发之前,我们需要先做一个内网穿透,让我们的工程可以在公网上被访问. 一.工具列表 内网穿透的相关工具有: (1)natapp 官网 :https://natapp.cn/ (2)花生壳 官网: ...
随机推荐
- request.getParameterValues与request.getParameter的区别
一. 简单的对比 request.getParameter用的比较多,相对熟悉 request.getParameterValues(String name)是获得如checkbox类(名字相同, ...
- 51nodeE 斜率最大
题目传送门 这道题只要证明最佳解一定在相邻两个点之间的好啦 这个自己证一证就okay啦 而且我发现n方的算法可以过耶... #include<cstdio> #include<cst ...
- [bzoj4765]普通计算姬——分块
Brief Description 给定一棵n个节点的带权树,节点编号为1到n,以root为根,设sum[p]表示以点p为根的这棵子树中所有节点的权 值和.支持下列两种操作: 1 给定两个整数u,v, ...
- [转]树莓派gpio口控制
0.前言 树莓派现在越来越火,网上树莓派的资料也越来越多.树莓派源自英国,国外嵌入式开源领域具有良好的分享精神,树莓派各种集成库也层出不穷,下面推荐几个. [[开发语言]——python [[ ...
- linux基础——关于chmod用户权限和文件的相关操作
第一部分:1) 新建用户natasha,uid为1007,gid为555,备注信息为“master” 操作:useradd natasha新建natasha:修改uid是,usermod -u 100 ...
- HDU1174(空间点到直线的距离,用叉积)
爆头 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submissi ...
- kuangbin带你飞 后缀数组 题解
2份模板 DC3 . 空间复杂度O3N 时间复杂度On #define F(x) ((x) / 3 + ((x) % 3 == 1 ? 0 : tb)) #define G(x) ((x) < ...
- jsp页面点击打印按钮调用系统 的打印功能
<script language=javascript> function prt() { var btn_obj = document.getElementById("prin ...
- Hibernate 和 Mybatis的区别
第一方面:开发速度的对比 就开发速度而言,Hibernate的真正掌握要比Mybatis来得难些.Mybatis框架相对简单很容易上手,但也相对简陋些.个人觉得要用好Mybatis还是首先要先理解好H ...
- ie_placeholder最佳兼容方案
https://gitee.com/hustcc/placeholder.js巧妙的使用了canvas.toDataURL(),动态生成了一个背景图,可以作为兼容IE9-的placeholder方案. ...