浅析php网站以及服务器攻防

一个网站典型漏洞有:注入漏洞、文件包含漏洞、恶意代码执行漏洞、文件上传漏洞、后台弱口令、XSS攻击等等,这些漏洞可能是服务器沦陷的致命点,可以利用上述实现对服务器的控制,添加持久后门,随时查看、控制服务器,为了提高服务器安全性能,需要对系统做一定的安全配置和登录策略,及时的安装更新的漏洞补丁,以及使用相应的硬件防护。本文通过对典型的网站服务器漏洞进行分析与攻防测试,展示漏洞存在的危害,提出相应的解决方法。
目 录
一、引言 1
(一)研究背景 1
(二)研究目的 1
二、SQL注入攻击 1
(一)注入攻击简介 1
(二)注入工具的简单介绍 2
(三)攻击前信息的收集 2
(四)扫库 3
(五)扫表 4
(六)扫列 5
(七)扫数据 6
(八)注入的危害 6
(九)防护及注意事项 7
三、文件上传漏洞 7
(一)产生的原因 7
1.代码审计 8
2.上传小马 8
3.通过小马连接服务器 9
(二)大马上传 10
(三)防护以及注意事项 13
四、典型建站系统 13
(一)织梦网站典型漏洞解析 13
1.找注入点 14
2.利用工具找后台 14
3.暴力破解管理员的密码 15
4.后台找上传点 18
5.后台拿shell的第二种方法 20
6. 网站漏洞的防护措施 21
(二)GV32典型漏洞解析 22
1.GV32CMS简介 22
2.找注入点 22
3.找上传点 23
4.成功拿到网站shell 25
5.提权信息收集 26
6.提权成功之后,添加后门 27
7.网站漏洞的防护措施 28
(三)PHP168网站典型漏洞解析 29
1.简单介绍说明 29
2.找网站的漏洞 29
3.注册用户升级管理员 29
 *好棒文|www.hbsrm.com +Q: ^3^5`1^9`1^6^0`7^2# 

4.后台登录 30
5. URL直接写入一句话 31
6.提权 32
7. 网站漏洞的防护措施 34
五、系统及服务器的加固 34
(一)WINDOWS系统服务器 34
(二)LINUX系统服务器 35
(三)LINUX服务器层面的防护 35
参考文献 37
致谢 38
一、引言
(一)研究背景
网站与服务器的安全对于一个企业而言是非常重要的,因为很多公司的服务器上面有着重要的商业机密资料。目前我国网站的建站形式主要有,asp网站、php网站、jsp网站。PHP网站占多数,作为现在的主流网站技术,但是面临的问题也很多。就目前的问题来看,我国网站、服务器安全方面相对比较的欠缺。譬如开发者的实力还是有些不足,基础知识不够扎实(英文不太好)等等。
(二)研究目的
通过对以下典型漏洞的解析,为管理员对网站的安全管理:事先防护、主动查漏、及时补漏等方面提供方法借鉴。
二、SQL注入攻击
(一)注入攻击简介
注入攻击是一种将SQL代码插入到对方服务器中的数据库,从而进行解析和执行的一种漏洞攻击方式。就是在含有参数的url后面添加代码;如http://127.0.0.1/show.asp?id=1 ,修改为http://127.0.0.1/show.asp?id=1 or 1=1,通过添加字段“or 1=1”从而达到注入的效果,网页是否存在注入可以通过页面的显示效果来判断。如果这个页面在插入语句之后还可以正常的显示,说明这个地方是不存在注入的;如果插入语句之后报错,说明是有过滤机制在里面的;如果部分可以正常的显示,说明肯定是存在注入的。可以通过单引号法,双引号法来辨别是否存在着注入漏洞(图21所示为网站原图;图22所示为加入单引号的网站效果图)。

图21 网站原图

图22 加入单引号效果图
(二)注入工具的简单介绍
确定了注入点(可以成功实现注入攻击的地方),用到的工具主要是有sqlmap、明小子、啊D等等,sqlmap可以在Windows和Linux系统都是可以使用的,后两者只能在windows的系统中使用。
sqlmap这款工具的优点是很多的,首先它是免费开源的产品,其次就是它的跨平台性比较好,可以在Windows、Linux系统中都可以使用;它的检测的过程是自动化的,不需要一次一次的手工尝试。主要进行了这些操作:数据库指纹、询问底层的文件系统、执行命令等等[1]。
(三)攻击前信息的收集
通过利用sqlmap工具对网站url的扫描判断是否存在注入(图23所示为扫描语句图),得到的输出信息(如图24所示为测试注入扫描结果图)。重点信息为图中用红色方框标出。从输出信息中可以看出传输数据的类型是get型(get型就是从数据库里面得到数据)、注入的类型是“booleanbased blind”,布尔型注入(如图25所示为其他的注入类型);查询的方式是联合查询(union);看出服务器的类型是windows服务器;用的apache版本是2.2.22的;数据库是mysql,版本是小于等于5.0.11的。这是一个网站和服务器的基本的架构信息。这些信息的获取,对于拿到这个网站的webshell(网页后门)可以起到很大的作用,譬如可以通过网站所用apache、mysql版本的公开漏洞来测试,如果这个网站没有安装最新的漏洞补丁的话,可直接利用这些漏洞拿到网站服务器的权限。这也是及时的安装漏洞补丁的重要性。

图23 扫描语句图

图24 测试注入扫描结果图

图25 其他注入类型图
(四)扫库
从上面的扫描得到这个网站的基本架构信息了,说明是存在注入点的。看这个网站url中的“index.php”可看出这个网站是一个PHP的网站,正常的情况下php网站都是有数据库的。利用sqlmap扫描出这个网站服务器中数据库的信息(图26,所示为扫库语句图)。可以得到数据库的名称为标注出“donghuagangchang”。(图27,所示为数据库信息图)

图26 扫库语句图

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/wljs/627.html

好棒文