当前位置: 首页 > news >正文

%3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击

背景

这个系列有很多题,但是其实考察的相近,类似的就不在多说,我们来看吧。主要分几个点来讲:

反射型

存储型

JSON

XM

头部字段相关

分类介绍

反射型

存储型

一般在博客留言板、评论、个人信息维护等地方容易存在,就是用户构造XSS的Payload保存在数据库中,一旦用户访问该页面,则中招。

a6e3fb28653bc6b378d9aa25bdabc72e.png

202f313c18b9d1d522f2678f1816b655.png

JSON型

没有什么太大的不同,注意构造一下Payload,闭合标签即可,Payload:"

8d1af6b53ff03566086774c9bcb36cf5.png

53b8d15b77e9abc60e4be88be9a76bef.png

XML型

在XML解析payload需要注意<>两个字符需要使用HTML实体编码。 例如,这样

<img src=1 οnerrοr="alert(document.cookie)">

8373f99b65663af2b96073feaa3e66d0.png

头部字段相关

其实就是值HTTP的很多头部字段都可以XSS,直接构造XSS的Payload的例如Cookie啊,自定义头部字段吧啊,Referer等等。观察一下头部字段那些数据会输出到前端页面上,或者对referer或者location等字段进行控制,跳转到一个有XSS的页面。

XSS防御函数、过滤、绕过

防御函数

//单纯过滤<>,对编码都没有检测,所以做一个url编码就绕过了。

function xss_check_1($data)

{

// Converts only "" to HTLM entities

$input = str_replace("

$input = str_replace(">", ">", $input);

// Failure is an option

// Bypasses double encoding attacks

//

// %3Cscript%3Ealert%280%29%3C%2Fscript%3E

// %253Cscript%253Ealert%25280%2529%253C%252Fscript%253E

$input = urldecode($input);

return $input;

}

//字符转成HTML实体,防御还可以,但是注意该函数的第二个参数选项ENT_QUOTES,编码单双引号,也不是不能绕过。

function xss_check_2($data)

{

// htmlentities - converts all applicable characters to HTML entities

return htmlentities($data, ENT_QUOTES);

}

//把&、、"、'五个符号转成HTML实体

function xss_check_3($data, $encoding = "UTF-8")

{

// htmlspecialchars - converts special characters to HTML entities

// '&' (ampersand) becomes '&'

// '"' (double quote) becomes '"' when ENT_NOQUOTES is not set

// "'" (single quote) becomes ''' (or ') only when ENT_QUOTES is set

// '

// '>' (greater than) becomes '>'

return htmlspecialchars($data, ENT_QUOTES, $encoding);

}

//中级难度的防御,addslashes,转义单双引号和反斜杠,但是不使用单双引号的,防不住的。

function xss_check_4($data)

{

// addslashes - returns a string with backslashes before characters that need to be quoted in database queries etc.

// These characters are single quote ('), double quote ("), backslash (\) and NUL (the NULL byte).

// Do NOT use this for XSS or HTML validations!!!

return addslashes($data);

}

绕过

//一般payload

//绕过过滤单双引号的

1

//伪协议

//绕过关键字检查,大小写变化和无意义(注释、空字符、空格、回车、tab)截断

link//规避关键字

//长度限制

//绕过尖括号检查,编码、多重编码

%3cscript%3ealert(1)%3c%2fscript%3e

//标签检查,一重去除标签

ipt>alert("XSS")ipt>

/*闭合标签

>

'> 或者 ">

' 或者 "

标签闭合

*/

//终极过滤

可以进行xss的标签

...

相关文章:

  • 主流64位配置
  • oracle当前日期加3天,将Oracle 当前日期加一天、一小时、一分钟
  • php object 增加属性,Object.defineProperties 添加一个/多个属性到对象;修改已有属性...
  • 美国人对于instructions
  • matlab避碰,基于非欧保形变换的船舶避碰模型的建立方法与流程
  • CISCO 相关技术大集合(收藏)_01
  • oracle查询浪费的空间,Oracle spatial结合WebGIS进行空间查询
  • oracle hint失效,HINT不起作用是为何?
  • CISCO 相关技术大集合(收藏)__02
  • php如何检测设备是手机,PHP检测终端设备是平板、手机还是电脑
  • ACDSee v8.0最完美汉化破解补丁发布,永不过期,还有绿色版
  • Linux创建自己命令,Linux命令别名:定义自己的命令
  • BT下载]为大家献上真正原版,绝无改动的工行正版免激活XP,OFFICE2003
  • 如何查看后被暂停的进程 linux,关于Linux 进程你要知道的事
  • 【热度·推荐】超强推荐,大家齐用VNN内网穿透版的电驴,加速下载快行动!
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • 345-反转字符串中的元音字母
  • Android 架构优化~MVP 架构改造
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • jQuery(一)
  • JWT究竟是什么呢?
  • k8s 面向应用开发者的基础命令
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • python 装饰器(一)
  • sessionStorage和localStorage
  • uni-app项目数字滚动
  • vue2.0项目引入element-ui
  • 分享一份非常强势的Android面试题
  • 关于字符编码你应该知道的事情
  • 老板让我十分钟上手nx-admin
  • 用jQuery怎么做到前后端分离
  • 优秀架构师必须掌握的架构思维
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • Hibernate主键生成策略及选择
  • #pragma once
  • #ubuntu# #git# repository git config --global --add safe.directory
  • #宝哥教你#查看jquery绑定的事件函数
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • (1)SpringCloud 整合Python
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (附源码)springboot宠物管理系统 毕业设计 121654
  • (三)uboot源码分析
  • .cfg\.dat\.mak(持续补充)
  • .net CHARTING图表控件下载地址
  • .NET Core 通过 Ef Core 操作 Mysql
  • .NET 读取 JSON格式的数据
  • .net 桌面开发 运行一阵子就自动关闭_聊城旋转门家用价格大约是多少,全自动旋转门,期待合作...
  • /tmp目录下出现system-private文件夹解决方法
  • @ModelAttribute注解使用
  • [ web基础篇 ] Burp Suite 爆破 Basic 认证密码
  • [ 渗透工具篇 ] 一篇文章让你掌握神奇的shuize -- 信息收集自动化工具
  • []sim300 GPRS数据收发程序
  • [ABP实战开源项目]---ABP实时服务-通知系统.发布模式
  • [AUTOSAR][诊断管理][ECU][$37] 请求退出传输。终止数据传输的(上传/下载)
  • [bzoj1006]: [HNOI2008]神奇的国度(最大势算法)