博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
XSS初探
阅读量:5100 次
发布时间:2019-06-13

本文共 1508 字,大约阅读时间需要 5 分钟。

XSS 漏洞初探

0X00 前言

Web发展至今,前端危害最大的是XSS(跨站脚本)和CSRF(跨站请求)漏洞。

  • 非持久XSS攻击:该类的xss攻击是一次性的,仅仅会当前页面的访问产生影响;攻击者要求用户访问一个被攻击者篡改后的连接,用户访问该链接时,被植入的攻击脚本被用户浏览器执行,从而达到攻击目的。
  • 反射性XSS:经过后端,不经过数据库
  • 存储型XSS:经过后端和数据库
  • DOM型xss:不经过后端,DOM—based XSS漏洞是基于文档对象模型DOM的一种漏洞,DOM—xss是通过URL传入参数去控制触发的。

0X01 反射型 XSS

  • 反射型XSS.php文件
文本框
按钮

代码说明:

包含一个表单,用于向页面自己发送GET请求,带一个名为xss的参数;php读取该参数且不为空则echo输出xss参数内容。这里没有设置任何过滤和检查机制,所以xss会执行任何的代码包含 )在输出弹窗后HTML代码也会被改写;

  • 反射型xss:

    浏览器 —> 后端 —> 浏览器页面

0X02 存储型 XSS

  • 存储型xss.php文件:

用户输入的内容还是没有过滤,但是并不是显示在页面中,而是执行php+mysql命令将内容插入到数据库中;

mysqli_connect(servername/ip , username , password):

​ 设置数据库的登录地址,数据库登录名,登录密码等

​ 建立MySQL数据库连接

【PHP 5.5+ 不再使用connect进行连接数据库,改用MySQLi或PDO_MySQL来进行连接】

mysqli_close() : 关闭数据库连接

mysqli_select:从数据库表中选取数据

​ mysqli_select_db():选取数据库

mysqli_query(参数/sql命令):执行sql命令,可以使用参数存储一个sql命令也可以在query中直接写明sql命令

ps:在输入提交script脚本时候注意字符转义的问题哦

  • show.php

show.php文件的作用:

连接数据库打开xss库,执行sql命令查看temp表中的内容

  • 总结:

上述的存储型XSS的流程是:

通过xss.php程序将xss脚本写入数据库中,在通过show.php查看存储在数据库中的xss脚本,以此达到解析脚本的方法。

xss数据从浏览器经过后端写入到数据库中,在经过后端调用数据库内容显示在页面上。

1512305-20190722125554465-558305419.png

0X03 DOM型 XSS

1512305-20190722125608882-2021643325.png

对xss.php进行分析:

php接收一个name的get请求,input标签中 id:text获得了name设置的请求值,在script中,print输出并将text的内容一并输出,而text的值就是name的请求内容(通过URL进行构造)

1512305-20190722125631225-2003063306.png

而构造的URL:http://localhost/xss.php?name=< img src=1 οnerrοr=alert(1)>

含义是:name为调用一个 1 文件照片信息(img),如果不存在报错弹出窗口(alert)并显示内容为 1 。

0X04 漏洞利用初探

通过xss跨站脚本,来获得用户的Cookie和其他有用的信息,利用平台的特性,xss利用诸如:xss Shell ,BeEF,Anehta,CAL9000……

  • xss学习认知平台:

转载于:https://www.cnblogs.com/wangyuyang1016/p/11225230.html

你可能感兴趣的文章
Data truncation: Out of range value for column 'Quality' at row 1
查看>>
Dirichlet分布深入理解
查看>>
(转)Android之发送短信的两种方式
查看>>
python第九天课程:遇到了金角大王
查看>>
字符串处理
查看>>
ECharts(Enterprise Charts 商业产品图表库)初识
查看>>
LeetCode Factorial Trailing Zeroes (阶乘后缀零)
查看>>
hdu 5402 Travelling Salesman Problem (技巧,未写完)
查看>>
[AIR] 获取U盘,打开U盘
查看>>
HtmlUnitDriver 网页内容动态抓取
查看>>
ad logon hour
查看>>
获得进程可执行文件的路径: GetModuleFileNameEx, GetProcessImageFileName, QueryFullProcessImageName...
查看>>
证件照(1寸2寸)拍摄处理知识汇总
查看>>
罗马数字与阿拉伯数字转换
查看>>
Eclipse 反编译之 JadClipse
查看>>
asp.net 获取IP地理位置的几个主要接口
查看>>
Python入门-函数
查看>>
[HDU5727]Necklace(二分图最大匹配,枚举)
查看>>
距离公式汇总以及Python实现
查看>>
设计模式之装饰者模式
查看>>