当前位置: 首页 > article >正文

WEB渗透技术研究与安全防御

目录

作品简介I

IntroductionII

1 网络面临的主要威胁1

1.1 技术安全1

2 分析Web渗透技术2

2.1 Web渗透技术的概念2

2.2 Web漏洞产生的原因2

2.3 注入测试3

2.3.1 注入测试的攻击流程3

2.3.2 进行一次完整的Sql注入测试4

2.3.3 Cookie注入攻击11

3 安全防御方案设计15

3.1 Windows安全设置16

3.1.1 系统安全设置16

3.1.2 用户安全设置18

3.1.3 密码安全设置20

3.2 Web应用安全设置22

3.2.1 IIS安全设置22

3.2.2 数据库安全设置24

3.3 防范SQL注入渗透27

3.3.1 SQL注入使用的工具-“啊D注入工具”27

3.3.2 SQL注入预防手段27

参考文献30

致谢31

作品简介

信息交流和资源共享变得十分方便,都是由于互联网的普及。如今越来越多的人使用计算机在网络上购物,聊天,交易等,留下了很多的信息在网络里面。而有些人就会使用一些技术获取你的个人或者商业信息,盗取你的财产或者贩卖你的商业信息,现今他们都被称作黑客。从一开始的恐慌到现在的好奇,黑客已经逐渐被揭开了神秘的面纱,并且也有了能够阻止他们的技术出现。现在虽然计算机用户们已经了解了黑客并使用防火墙保护自己的计算机,但是却不是很了解他们使用的技术。

本次的课题就是使网民更加了解黑客的操作过程以及对网络安全的防护进行研究,希望能更好的防护网络的安全。

关键词:信息,互联网,网络防护

Introduction

Very convenient information and resource sharing, are due to the popularity of the Internet. Now more and more people use the computer in the network shopping, chatting, trading, leaving a lot of information inside the network. And some people will use some techniques to obtain your personal or business information, steal your property or sell your business information, now they are called hackers. From the beginning of the panic now curious, hackers have gradually lifted the veil of mystery, and has also been used to stop their technology. Although computer users have learned and hackers use a firewall to protect your computer, But they don't know much about the technology they use。

This topic is to make the Internet users know more about the operation process of hackers and the protection of network security, hoping to better protect the security of the network

Keywords:information, Internet, network security

1 网络面临的主要威胁

信息化的世界已经形成,在各个领域都有被渗透。互联网已经将我们的生活,工作,生产等都紧紧的联系在一起,它能为我们提供丰富多彩的服务,让大大的地球浓缩在一个网络里面。但是随之而来的还有越来越严峻的网络安全问题,因为网络的便捷和大数据时代的到来,有些不法分子开始滥用黑客的技术进行营利行为使得网络里面保存的重要信息大量被盗用。虽然现在网络的防护技术在日益更新,但是我们还是希望黑客的技术更多的是用来改造网络。

  1. 技术安全

由于一开始建造的信息网络和安全防护系统的


2 分析Web渗透技术

2.1 Web渗透技术的概念

在如今数字化的世界里面,人们发现,网络和计算机系统的安全保护变得越来越困难在维持开放的Internet连接的同时。各种各样的攻击层出不穷,钓鱼网站更使警惕性不高的群众饱受其害。而渗透测试就是通过使用模拟黑客的网络攻击手段,然后找出企业和机构的系统中存在的漏洞和网络脆弱点,但是它又是受信任的第三方网络安全活动,因为它会将这些弱点记录并交给网络管理者。

2.2 Web漏洞产生的原因

只要存在就会有缺陷,没有十全十美的设计,更没有完美的人存在,所以设计本身就会存在漏洞。大部分漏洞的产生都是由于设计者和程序员们的失误以及对不熟悉的网络环境造成的。Web漏洞其实是Web服务器没有得到设计者的重视,从而被黑客找寻到其中缺陷进行攻击。以下我们分析Web漏洞产生的情况:

  1. 已知的弱点和错误的配置; 已知的弱点:Web应用里面的操作系统和第三方应用程序里的程序错误或者存在漏洞。错误的配置:主要是指默认配置的不安全和管理员没有及时设置安全的配置。

  2. 缓冲区的溢出; 缓冲区溢出攻击指的是:攻击者通过复制一段超长的字符串,然后向一个缓冲区填充,覆盖原来的指针,使新的指针指向选定的代码,从而获得被攻击用户系统的权限。对这类攻击的防范,需要及时发现漏洞,对系统打补丁。

  3. 隐藏的字段; 虽然设计者使用隐藏的HTML格式字段来保存系统的口令或商品价格,但是这些字段其实不是很隐蔽,因为这些web应用可以使任何用户在网页上执行“查看源代码”,所以有些不法用户擅自修改这些源代码,使他们可以免费购买商品。

  4. 后门和调试的漏洞; 因为设计者或者程序员常常建立后门并进行调试来排除应用的故障。但是这些“后门”留在网络中,很容易被一些黑客利用来获得权限。


跨站点脚本的编写;

编写这类脚本,就是通过跨站将代码插入另一个网页,恶意代码将会帖上公告牌,用户一旦点击这些公告将会显示恶意的代码。

  1. 更改cookie; Cookie是指存储在本地终端的数据,例如ID,口令和账户等数据。如果这些值改变,黑客就可以访问其他人的账户。

  2. 输入信息的控制;

输入信息的控制是指通过CGI脚本处理的HTML格式里面的输入信息控制,来运行系统的命令。

2.3 注入测试

2.3.1 注入测试的攻击流程

(1)侦察;

侦察阶段,就是为了获取目的主机的信息。侦察又分为,主动和被动两种方式。主动侦察是测试者们使用工具进行探测目标的网络;被动侦察是测试者使用恶意的代码进行植入公开信息。

(2)扫描;

扫描阶段,就是使用X-scan的扫描工具扫描目标端口,找到开放的端口。这个阶段主要是为了确定主机上的服务。

(3)获取访问;

漏洞扫描也是属于上一个阶段的,它是为了使测试者能够获取目标主机的访问方法。

(4)维持访问;

进入目的主机后,就可以使用“一句话木马”之类的木马程序进行获得管理组的权限。测试者就可以随意访问目的主机。

(5)擦除证据;

擦除证据,是一些黑客希望能够清除自己在对方主机的活动记录,擦除这些记录也是一件非常困难的事情同时也是一件必须要做的事情。


2.3.2 进行一次完整的Sql注入测试

创建两台虚拟机,一台客户端(192.168.1.2),一台服务器(192.168.1.3)。

(1)打开链接“http://192.168.1.3/see.asp?ID=461&titleID=86”,在后面随便一个符号[‘],页面发生报错如图2.1所示。

添加图片注释,不超过 140 字(可选)

图2.1 打开网页

(2)出现数据库错误,第一反应就是网站存在注入漏洞,我们可以使用“http://192.168.1.3/see.asp?ID=461&titleID=86and 1=1”,回到开始的界面,如图2.2所示;接着使用“http://192.168.1.3/see.asp?ID=461&titleID=86and 1=2”登录,如图2.3所示,两次都出现错误,那必然是出现漏洞了。

添加图片注释,不超过 140 字(可选)

图2.2 正常回到页面

添加图片注释,不超过 140 字(可选)

图2.3 页面再次出错

(3)打开“啊D注入工具”,把刚才的URL输入进去,选择SQL注入检测,开始检测,如果工具下方有提示和显示数据库类型,表明存在注入,如图2.4所示。

添加图片注释,不超过 140 字(可选)

图2.4 检测是否注入

(4)在“检测表段”下选择“admin”,随后选择“检测字段”中的“password”和“admin”,然后点击“检测内容”,破解密码和用户:linhai,如图2.5所示。

添加图片注释,不超过 140 字(可选)

图2.5 破解密码和用户

  1. 可以访问www.cmd5.com进行破解上面的MD5密码,得到明文密码:123456。

  2. 打开“御剑后台扫描工具.exe”,在域名处输入要探测的网站“http://192.168.1.3”,开始扫描,如图2.6所示。

添加图片注释,不超过 140 字(可选)

图2.6 扫描网站

  1. 得到该网站后台网址“http://192.168.1.3/admin/login.asp”,然后登陆后台网址,输入破解的管理者用户名“linhai”和密码“123456”。

  2. 进入后台管理后,我们为了保持网站的永久权限开始获webshell。

首先打开“系统管理”中的“文章管理”,再接着打开图片传送,点击预览,选择在C:\tools\web完整渗透\木马文件夹(“一句话木马”)。然后修改文件的后缀名为“.jpg”上传成功,如图2.7所示。

添加图片注释,不超过 140 字(可选)

图2.7 上传木马

(10)上传之后,开始查看图片属性,记下图片上传的地址,如图2.8所示;然后点击“数据管理”中的“备份/恢复数据库”,在“数据库路径”下输入刚才记下的图片地址“../admin/Upfiles/2017111158997.jpg”,在“备份的数据库路径”下输入“../db/1.aspx”,恢复文件,使木马能正常运行,如图2.9所示。

添加图片注释,不超过 140 字(可选)

图2.8 查看文件属性

添加图片注释,不超过 140 字(可选)

图2.9 恢复木马格式

  1. 点击备份后,打开木马网址“http://192.168.1.3/db/1.aspx”,输入密码:77169,获得了网站的webshell。

  2. 进入webshell后,为了获得管理者权限,我们需要添加用户“aaa”,添加到管理者组。首先,点击“端口扫描”,开始扫描,得到43958端口开放,如图2.10所示,随后点击“SU提权”,然后输入命令“net user aaa 123456 /add”添加用户,接着再输入“net localgroup administrators aaa /add”添加到管理者组吗,如图2.11,2.12所示。

添加图片注释,不超过 140 字(可选)

图2.10 端口扫描

添加图片注释,不超过 140 字(可选)

图2.11 添加用户

添加图片注释,不超过 140 字(可选)

图2.12 添加到管理者组

(13)点击“命令行”,输入“net user aaa”查看aaa用户,如图2.13所示;随后打开桌面,点击“开始”,再点击“运行”,输入“mstsc”,然后输入“192.168.1.3”,接着输入账户“aaa”和密码“123456”,单击登录,如图2.14所示。

添加图片注释,不超过 140 字(可选)

图2.13查看用户

添加图片注释,不超过 140 字(可选)

图2.14 远程登录


2.3.3 Cookie注入攻击

模拟环境是window 2003,两台虚拟机:操作机(192.168.1.2),目标机(192.168.1.3)。

  1. 在浏览器地址栏中输入“http://192.168.1.3:8004”随便选中一个页面打开,观察ID前面的字符是asp,所以此网页程序是ASP,如图2.15所示。

添加图片注释,不超过 140 字(可选)

图2.15 网页类型

(2)进行注入测试,在此网页后面添加字符“’”,系统提示有错误,如图2.16所示;点击确定弹出界面,显示注入失败,如图2.17所示。

添加图片注释,不超过 140 字(可选)

图2.16 网页错误

添加图片注释,不超过 140 字(可选)

图2.17 注入失败

  1. 打开“ASP专业调试工具.exe”,用来模拟ASP环境,第一次打开的界面是:“http://localhost”的网站,如图2.18所示。

添加图片注释,不超过 140 字(可选)

图2.18 “localhost”网站

(4)找到并打开“注入中转工具.exe”,生成本地asp文件;首先点击“COOKIE注入”,在“注入URL地址”和“来源页”中输入URL地址;在“注入键名”输入“ID=”;在“POST提交值”中,jmdcw输入46;最后点击“生成ASP”如图2.19所示。

添加图片注释,不超过 140 字(可选)

图2.19 “生成ASP”

  1. 重启ASP调试,输入网址“http://localhost/jmCook.asp?jmdcw=46”,能够正常打开页面,如图2.20所示。

添加图片注释,不超过 140 字(可选)

图2.20 正常的页面

  1. 启动文件“Domian.exe”的明小子,点击“SQL注入”,随后点击“SQL注入猜解检测”,在注入点输入“http://localhost/jmCook.asp?jmdcw=46”进行检测,如图2.21所示;弹出数据库类型,表示可以注入,如图2.22所示。

添加图片注释,不超过 140 字(可选)

图2.21 SQL检测

添加图片注释,不超过 140 字(可选)

图2.22 检测信息

  1. 依次点击“猜解表名”,“猜解列名”和“猜解内容”,就可以获得用户名:admin,密码:bfpms,如图2.23所示。

添加图片注释,不超过 140 字(可选)

图3.23 获得用户名和密码


3 安全防御方案设计

我这次所做的方案是通过对Window系统的安全防范,主要通过对window系统的安全设置,对Web应用中的IIS和数据库的安全设置和对渗透工具的防范,安全防御的示意图,如图4.1所示;

添加图片注释,不超过 140 字(可选)

图3.1 安全防御示意图


3.1 Windows安全设置

3.1.1 系统安全设置

  1. Windows系统更新; 点击“开始”菜单—>“所有程序”—>“WindowsUpdate”,然后按照系统的提示进行打补丁。如图3.2所示。

添加图片注释,不超过 140 字(可选)

图3.2 运行“WindowsUpdate”

  1. Windows防火墙开启; 首先把“网络连接”里面的没用的协议和服务删掉,在“控制面板”里面打开“Windows防火墙”,然后开启防火墙。如图3.3所示。

添加图片注释,不超过 140 字(可选)

图3.3 开启“防火墙”

  1. 修改“3389端口”;

点击“开始”菜单—>“运行”,运行界面里面输入“regedit”。随后一次次点击“HKEY-LOCAL-MACHINE/SYSTEM/currentcontrolset/control/terminal server/wds/Rdpwd/tds/tcp”,随后在打开的界面里面打开“portnumber”的属性,修改端口为“1111”。如图3.4所示。

添加图片注释,不超过 140 字(可选)

图3.4 修改端口

3.1.2 用户安全设置

  1. 禁用Guest账号; 打开“开始”菜单—>“控制面板”—>“计算机管理”—>“系统工具”—>“本地用户和组”,随后打开“用户”里面,找到“Guest”右击“属性”,禁用它,如图3.5所示。

添加图片注释,不超过 140 字(可选)

图3.5 禁用“guest”用户

  1. 修改Administrator账号; 由于这个版本的系统中“Administrator”账号无法停用,所以我们需要修改账号的名字用来欺骗黑客。如图3.6所示。

添加图片注释,不超过 140 字(可选)

图3.6 修改账号

  1. 创建陷阱用户;

创建一个名为“Administartor”本地用户,同时设置它的权限为最低,再加上一个混合式的密码。可以使黑客忙活一阵。如图3.7所示。

添加图片注释,不超过 140 字(可选)

图3.7 添加假的管理账号


3.1.3 密码安全设置

  1. 设置屏幕安全密码; 右击桌面,点击“属性”,开启桌面密码,如图3.8所示。

添加图片注释,不超过 140 字(可选)

图3.8 屏幕保护模式

  1. 开启密码策略和账户锁定策略;

打开“开始”菜单—>“管理工具”—>“本地安全策略”,打开里面的“账户策略”中的“密码策略”,启用密码复杂性的要求,设置密码长度,设置强制密码历史为5次,其余都为默认。如图3.9所示;随后点击“账户锁定策略”,设置复位用户锁定计数器时间和用户锁定时间都为20分钟,账户锁定阈值为2次。

添加图片注释,不超过 140 字(可选)

图3.9 密码策略


3.2 Web应用安全设置

3.2.1 IIS安全设置

  1. 首先删除默认网站对应的“inetpub”,然后打开在IIS里的网站“属性”—>“目录安全性”—>“身份验证和访问控制”里面设置匿名访问使用,并且使用“集成Windows身份验证”。如图3.10所示。

添加图片注释,不超过 140 字(可选)

图3.10 设置身份验证

  1. 删除掉多余的映射,保留asp等映射。如图3.11所示。

添加图片注释,不超过 140 字(可选)

图3.11 删除多余的映射

  1. 为了预防ASP漏洞注入,可以在应用程序配置里面,设置“向客户端发送下列文本错误”。如图3.12所示。

添加图片注释,不超过 140 字(可选)

图3.12 配置“应用程序配置”

  1. 给每个站点的web目录配置权限为“读取”就行,在下面的“应用程序配置”的执行设置为“纯脚本”。如图3.13所示。

添加图片注释,不超过 140 字(可选)

图3.13 配置“主目录”

3.2.2 数据库安全设置

(1)更改SA名,重新设置复杂的密码。首先以Wind2ows身份验证登录,打开“安全性”—>“登录名”—>“sa”。如图3.14所示。

添加图片注释,不超过 140 字(可选)

图3.14 修改sa用户密码

(2)删除多余的用户,系统创建的用户需要保留。我们还是使用Windows身份验证登录,打开“安全性”到“登录名”,删除掉多余的用户,保留sa用户。

(3)更改默认端口1433。点击“开始”菜单,打开SQL配置工具。再对TCP/IP端口进行设置。如图3.15所示。

添加图片注释,不超过 140 字(可选)

图3.15 配置端口

3.3 防范SQL注入渗透

任何一个主机挂在网络上就有网络威胁。所以现在许多安全产商就使用防火墙,杀毒软件和木马清除工具等。首先,防火墙就像是一个警卫,牢牢地把守在于外部网络和内部网络之间,但是防火墙也有限制,太过严格的配置会限制企业的应用使之无法运行,如果限制的宽松也会使防火墙无法防御潜在的威胁。现在web应用防火墙是近几年比较火的一种防火墙,WAF防火墙就是这种防火墙的缩写。

其次,杀毒软件最主要的是能够对已知的病毒进行杀毒,但是对未知的病毒就毫无能力。所以,这就需要病毒公司进行不断的更新。在国内比较有名的杀毒软件现在是金山毒霸,采用了金山云安全中心用来收录样本,30核云引擎,99秒内就能鉴定结果。

最后,木马清除工具其实也是一个杀毒软件,只不过是专门用来清除木马的程序,并且它也需要及时的更新木马的特征值。例如,“木马清除大师”是一款比较有名的木马清除工具。

3.3.1 SQL注入使用的工具-“啊D注入工具”

首先,“啊D注入工具”是一款非常常见的黑客软件,容易上手,易操作。它的攻击第一阶段是寻找注入点,通过在url后面添加一些单引号之类的字符串,使语句在数据库执行,并在浏览器上面显示字符串错误;

其次使用“1=1”和“1=2”测试法,返回结果:第一个结果是页面是正常的,第二个结果是BOF或EOF中有一个是“真”,或者当前的记录已被删除,或者所需的操作要求一个当前的记录。说明此网站存在sql注入漏洞,可以使用url当做注入点。

最后就是使用“啊D注入工具”破解此网站的用户名和密码。

3.3.2 SQL注入预防手段

通过了解“啊D注入工具”的注入原理,我们可以从预防非法sql语句以及阻止浏览器显示出错的信息。

1. 通过设置代码防护

可以使用代码预防注入,检查用户输入的合法性,不允许非法的字符串进入程序中,不过由于网页使用的代码不同,所以防范的代码也不尽相同,但是原理都是相通的,使用代码防范大部分的注入都会失效。

2. 通过数据库防御

从数据库上开始防范,例如,为应用程序设置权限,限制应用程序访问数据库的权限,给应用程序的用户最小的权限,不让用户访问其他角色的数据库,提高了安全性。

3. 使用检测工具“网络安全狗”保护网站。

(1)用户可以使用“网络安全狗”这个工具防止sql注入,首先打开软件,如图3.16所示。

添加图片注释,不超过 140 字(可选)

图3.16使用“网站安全狗”

(2)点击网站防护,界面如图3.17所示;然后点击“漏洞防护”后面的设置标志,开启数据库保护,能够保护网站免于注入的威胁,如图3.18所示。

添加图片注释,不超过 140 字(可选)

图3.17 打开网站防护

添加图片注释,不超过 140 字(可选)

图3.18 开启数据库保护

参考文献

  1. Justin Clarke 著,施宏斌 叶愫 译. 《SQL注入攻击与防御 》[M] 出版地:北京清华大学学研大厦A座 清华大学出版社,2013 。

  2. 陈小兵,范渊,孙立伟. 《web渗透技术及实战案例解析》[M] 出版地:北京市海淀区万寿路173信箱 电子工业出版社,2012

  3. 李匀 等编著.《网络渗透测试——保护网络安全的技术,工具和过程》[M] 出版地:北京市海淀区万寿路173信箱 电子工业出版社,2007

  4. 张庆华.《网络安全与黑客攻防宝典》[M] 出版地:北京市海淀区万寿路173信箱 电子工业出版社,2007

  5. Steve Kalman 著,冯大辉,姚湘怡 译.《Web安全实践》[M] 出版地:北京市崇文区夕照寺街14号 人民邮电出版社,2003

  6. 吴翰清.《白帽子讲Web安全》[M] 出版地:北京市海淀区万寿路173信箱 电子工业出版社,2012


http://www.kler.cn/a/510105.html

相关文章:

  • 常见的两种虚拟化技术比较:KVM与VMware
  • Solidity01 Solidity极简入门
  • USB 驱动开发 --- Gadget 驱动框架梳理(一)
  • MQ消息队列
  • 【Linux系列】查看服务器是否使用了 SSD 的多种方法
  • QT开发技术 【基于TinyXml2的对类进行序列化和反序列化】一
  • 乘联会:1月汽车零售预计175万辆 环比暴跌33.6%
  • 构建安全防线:基于视频AI的煤矿管理系统架构创新成果展示
  • MobileNet:轻量级卷积神经网络引领移动设备图像识别新时代
  • 广东打造低空经济发展平台,CES Asia 2025助力科技腾飞
  • 国内微电子(集成电路)领域重点高校的特色与优势
  • 【scrapy】信号量—扩展随笔
  • 利用@WebMvcTest测试Spring MVC应用
  • MySQL、HBase、ES的特点和区别
  • 初学stm32 --- flash模仿eeprom
  • AI-Talk开发板之替换唤醒词
  • K8S中Pod控制器之Deployment(Deploy)控制器
  • Prompt-人工智能领域的核心技术与创新理念
  • 设置 Git 默认推送不需要输入账号和密码【Ubuntu】
  • 使用libwebsocket技术总结
  • 音视频入门基础:RTP专题(4)——FFmpeg源码中,判断某文件是否为SDP文件的实现
  • Web自动化测试平台设计与落地
  • 2025.1.15——五、时间盲注
  • 音乐播放器实现:前端HTML,CSS,JavaScript综合大项目
  • Python----Python高级(模块与包,Python基本库)
  • java权限修饰符