You are on page 1of 16

实 习 手 册

实习类型: 毕业实习

学 院:计算机科学与技术学院

专 业: 信息安全

班 级: 信息安全 1902

学 号: 201913158072

姓 名: 陈宇凡

指导教师: 张泽彬

实习单位:北京西普阳光科技股份有限公司

1 / 16
学生实习安全告知书
陈宇凡 同学:

实习是实践教学的重要环节,你将到一个新的学习环境中结合课本知识,将理论与实

际联系起来,学习专业知识和技能。这里郑重地告知你以下内容,请时刻谨记:

1、 注意自身的人身安全、财产安全。不到偏僻、无人或陌生的地方去,谨防发生意外;

因公或因事外出,应严格履行请销假手续;在往返学院与实习实训单位的途中应结伴

而行。

2、 遵守国家法律、法规,遵守学校实习指导要求。

3、 遵守实习单位的纪律和工作要求,不参与违纪违法活动。

4、 不得丢失实习单位档案,不得泄露国家机密和办案过程中涉及的商业秘密和个人隐私。

5、 遵守职业道德规范,定期和带队老师联系,经常汇报自己的思想和实习实训情况,以

取得老师的指导和帮助。

6、 按要求完成实习任务。

7、 认真学习并熟记本安全告知书。同学之间要相互提醒、相互转告、相互监督,严防各

类安全事故的发生。

学生实习安全承诺书
为了完成实习教学任务,学习专业知识和技能,我承诺:

1、 注意自身的人身安全、财产安全。不到偏僻、无人或陌生的地方去,谨防发生意外;

因公或因事外出,应严格履行请销假手续;在往返学院与实习实训单位的途中结伴而

行。

2、 遵守国家法律、法规,遵守学校实习指导要求。

3、 遵守实习单位的纪律和工作要求,不参与违纪违法活动。

4、 认真保存实习单位档案,保护国家机密和办案过程中涉及的商业秘密和个人隐私。

5、 遵守职业道德规范,定期和带队老师联系,经常汇报自己的思想和实习实训情况,以

取得老师的指导和帮助。

6、 按要求完成实习任务。

7、 认真学习并熟记本安全告知书。同学之间相互提醒、相互转告、相互监督,严防各类

安全事故的发生。

承诺人:

2 / 16
年 月 日

实习计划
实习时间: 2023 年 2 月 20 日至 2023 年 3 月 10 日
实习目的与要求:
目的是通过实习,让学生了解和当前信息安全专业的就业形势,涉及的工
作方向与内容,通过项目实训来将课堂理论知识应用到实操上面来,完成一个
毕业到就业的平稳过渡。
要求从攻击和防御的角度出发去看待安全问题。同时熟悉渗透测试标准内
容和企业代码审计,能根据企业的要求进行完整的渗透测试流程和代码审计项
目。
实习主要内容:
本次实训的内容主要是从企业需求角度出发,侧重讲解目前最新的信息安
全岗位技能要求以及最新较全面的攻防渗透技术,包括渗透测试相关知识、渗
透测试流程及思路、系统运行环境的搭建、各种漏洞攻击的步骤、企业代码审
计,进行综合实训。
实习计划安排:
第一周,讲解渗透测试流程以及相关知识,包括常见的漏洞类型、攻击方式和
防御方法。
第二周,深入剖析漏洞原理,并通过实际靶场的演练来加深学生对漏洞原理的
理解和挖掘能力。同时,讲解代码审计的思路和方法,指导学生如何对企业代
码框架进行漏洞分析和修复,培养学生的代码审计思维和分析能力。
第三周,完成三周内容的整体考核,形成最终的实习报告。

实习报告
撰写要求:实习报告是学生实习过程与成果的总结。应围绕实习目的与要求、实习主要内
容,结合理论知识与现场实际,总结实习过程中的体会和感受等。要求:重点突出,层次

分明,语言流畅,结构合理,总字数不少于 3000 字。(具体要求详见本专业实习大纲)

先配置环境,安装 xhcms 系统,注意 phpstudy 的版本不能太高

3 / 16
新建连接,新建数据库

安装成功

进入网站,能正常访问和跳转。

4 / 16
然后,我们下载 seay 审计系统,陈宇凡 201913158072

5 / 16
点击新建项目,选择 xhcms 目录,之后点击自动审计开始审计

审计出结果,总共审计出 34 个可能的漏洞

6 / 16
先看第一个/index.php,显示可能存在文件包含漏洞

分析代码可知,对于 get 到的 r 的值,我们只判断是否为空或等于 index,


而不进行其他处理就用 include 去包含 r 传参的文件,因此我们可以给 r 输入特
定的文件名来达到其他目的,如在 flies 里新建一个 phpinfo 的 php 文件,再用
r 来调用这个文件。

7 / 16
/admin/index.php 的代码与/index.phpde 的代码相同,也有着相同的漏洞
和利用方式

之后在/admin/files/manageinfo.php 中存在着漏洞,我们审计的结果显示
可能存在 SQL 注入漏洞

8 / 16
查看代码,有 user、name、password、password2 这几个变量。

观察代码可发现,对于所有的参数都只是有 POST 直接得到,并未用其他函


数进行过滤,二在下面的 if 语句中只是判断 user 和 name 是否为空以及两次输
入 的 password 是 否 一 致 , 初 步 判 断 可 能 存 在 XSS 漏 洞 , 尝 试 直 接 将
<script>alert(1)</script>作为 name 的参数写入

确保两次输入的密码是一致的,之后点击保存,先出现保存成功的提示,之
后成功输出我们设置要输出的内容,虽然审计结果显示可能存在 sql 注入漏
洞,但实际上这是个 XSS 漏洞。

9 / 16
在/files/list.php 中也存在 XSS 漏洞。

从代码可以看出,仅适用 GET 获得参数,并未进行任何过滤,也可被利用。


打开 list 对应的列表的页面。

直接在后面加上&page=<script>alert(1)</script>,成功输出“1”。

再往后,显示在/admin/files/reply 中存在 sql 漏洞。

查看代码,发现直接用 Get 获取 id 的值,没有进行过滤。

10 / 16
前 往 对 应 的 页 面 , 添 加 ' or updatexml(1,concat((select
concat(0x7e,password,0x7e) from manage)),0) or '。

得到报错提示,返回的报错信息就是我们查找的 password,确认存在 sql 注


入漏洞。

对于此次生产实习,给我带来了非常大的帮助

Seay 是一款代码审计工具,用于检测 Web 应用程序的安全漏洞。它通过对代码


进行静态分析,扫描代码中可能存在的漏洞,如 SQL 注入、跨站脚本(XSS)
攻击等。Seay 支持多种编程语言,包括 PHP、Java、C#等,并且可以与常见的
开发环境集成,如 Eclipse、Visual Studio 等。根据 Seay 的代码审计,我学到了
敏感参数回溯法

根据敏感函数,逆向追踪参数传递的过程。这个方法是最高效,最常用的方
法。大多数漏洞的产生是因为函数的使用不当导致的。我们只要找到这样的一
些使用不当的函数,就可以快速挖掘想要的漏洞。这方面,Seay 有一款神器
Seay 源代码审计系统,主要是利用正则匹配一些高危函数、关键函数以及敏感
关键字。 然后,我们就可以分析判断敏感函数的上下文,追踪参数源头。

SQL 注入即是指 web 应用程序对用户输入数据的合法性没有判断或过滤不严,


攻击者可以在 web 应用程序中事先定义好的查询语句的结尾上添加额外的 SQL
语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器
执行非授权的任意查询,从而进一步得到相应的数据信息。
SQL 注入的特点
变种极多:有经验的攻击者会手工调整攻击的参数,致使攻击的数据是不可枚
举的,这导致传统的特征匹配方法仅能识别到相当少的攻击。或者是最常规的
攻击,难以做到防范。
攻击简单:攻击过程简单,目前互联网上流行的众多 SQL 注入攻击工具,攻击
者借助这些工具可以很快的对目标网站进行攻击或者是破坏,危害大。
危害极大:由于 web 语言自身的缺陷,以及具有安全编程的开发人员较少,大
多数 web 应用系统均具有被 SQL 注入攻击的可能,而攻击者一旦攻击成功,就
可以对控制整个 web 应用系统对数据做任何的修改或者是窃取,破坏力达到了
11 / 16
极致。
文件包含:为了更好地使用代码的重用性,引入了文件包含函数,通过文件
包含函数将文件包含进来,直接使用包含文件的代码,简单点来说就是一
个文件里面包含另外一个或多个文件,文件包含函数加载的参数没有经过
过滤或者严格的定义,可以被用户控制,包含其他恶意文件,导致了执行
了非预期的代码。
include()

include_once()

require()

require_once()

include()和 require()的区别:require()如果在包含过程中出错,就会直接退
出,不执行后续语句 require()如果在包含过程中出错,只会提出警告,但不影响后续
语句的执行

XSS 攻击
XSS 攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶
意指令代码到网页,使文件读取漏洞:作为资产信息搜集的一种强力的补充手
段,服务器的各种配置文件、文件形式存储的密钥、服务器信息(包括正在执
行的进程信息)、历史命令、网络信息、应用源码及二进制程序都在这个漏洞
触发点被攻击者窥探。 文件读取漏洞常常意味着被攻击者的服务器即将被攻
击者彻底控制
用户加载并执行攻击者恶意制造的网页程序。 这些恶意网页程序通常是
JavaScript,但实际上也可以包括 Java、 VBScript、ActiveX、 Flash 或者甚
至是普通的 HTML。
文件读取漏洞
文件读取漏洞:作为资产信息搜集的一种强力的补充手段,服务器的各种配置
文件、文件形式存储的密钥、服务器信息(包括正在执行的进程信息)、历史
命令、网络信息、应用源码及二进制程序都在这个漏洞触发点被攻击者窥探。 
文件读取漏洞常常意味着被攻击者的服务器即将被攻击者彻底控制
漏洞经常出现在框架请求静态资源文件部分,也就是最后读取文件内容的 open
函数,但直接导致漏洞的成因往往是框架开发者忽略了 Python 函数的
feature。
12 / 16
涉及文件操作的应用也因为滥用 open 函数、模板的不当渲染导致任意文件读
取。如:将用户输入的某些数据作为文件名的一部分(常见于认证服务或者日
志服务)存储在服务器中,在取文件内容的部分也通过将经过处理的用户输入
数据作为索引去查找相关文件。
攻击者构造软链接放入压缩包,解压后的内容会直接指向服务器相应文件,攻
击者访问解压后的链接文件会返回链接指向文件的相应内容。
Python 的模板注入、反序列化等漏洞都可造成一定程度的任意文件读取。

实习报告

13 / 16
指导教师评阅意见:

实习报告成绩(百分制):
指导教师签字:

年 月 日

实习工作评价与成绩评定
学生自我鉴定:在本次实验中,我了解到 Seay 工具,SQL 注入,文件包含等关
14 / 16
于信息安全领域的知识,重要的是我在学习的过程中收获了很多。首先是我端
正了学习不行的,要学会“方法”,做事情的方法。在学习时,以“独立思
考”作为自己的座右铭,时刻不忘警戒。随着学习的进步,我不止是学到了公
共基础学科知识和很多专业知识,我的心智也有了一个质的飞跃,能较快速的
掌握一种新的技术知识,我认为这对于将来很重要。在学习知识这段时间里,
我更与老师建立了浓厚的师生情谊。老师们的谆谆教导,使我体会了学习的乐
趣。我与身边许多同学,也建立了良好的学习关系,互帮互助,克服难关,更
锻炼了自我的动手和分析问题能力,受益匪浅。态度;其次是极大程度的提高了
自己的自学能力;再有就是懂得了运用学习方法同时注重独立思考。
通过大作业,让我对信息安全有了更深对理解,对于代码审计等工具有了更好
等理解和应用,更重要的是有了较快掌握一种新事物的能力。思想变成熟了许
多,性格更坚毅了。认识了许多同学和老师,建立起友谊,并在与他们的交往
中提升了自身素质,认清了自身的一些短处并尽力改正。社会实践能力也有很
大提高,为将来走向社会奠定基础。

15 / 16
实习单位或指导教师意见(分散实习由实习单位填写,集中实习由实习指导教
师填写):

实习工作成绩评定(百分制):

负责人:
年 月 日

实习报告成绩
成绩 实习工作成绩
(占综合成绩 实习综合成绩
组成 (占综合成绩 50%)
50%)

成绩

指导教师签名:
年 月 日

若实习综合成绩使用等级制,则按学籍管理相关规定给与评定。

16 / 16

You might also like