河间做网站,医院网站建设报价表,站内免费推广有哪些,网站后台怎么不能上传图片特别注意#xff0c;低级和中级的差别在于中级使用了一些函数进行了过滤或转义字符
例如 addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。
预定义字符是#xff1a;
单引号#xff08;#xff09;双引号#xff08;#xff09;反斜杠#xff08;\低级和中级的差别在于中级使用了一些函数进行了过滤或转义字符
例如 addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。
预定义字符是
单引号双引号反斜杠\NULL
提示该函数可用于为存储在数据库中的字符串以及数据库查询语句准备字符串。
htmlspecialchars() 函数把预定义的字符转换为 HTML 实体。
预定义的字符是 和号成为 双引号成为 单引号成为 小于成为 大于成为
提示如需把特殊的 HTML 实体转换回字符请使用 htmlspecialchars_decode() 函数。 str_replace() 函数以其他字符替换字符串中的一些字符区分大小写。
该函数必须遵循下列规则
如果搜索的字符串是数组那么它将返回数组。如果搜索的字符串是数组那么它将对数组中的每个元素进行查找和替换。如果同时需要对数组进行查找和替换并且需要执行替换的元素少于查找到的元素的数量那么多余元素将用空字符串进行替换如果查找的是数组而替换的是字符串那么替代字符串将对所有查找到的值起作用。
注释该函数区分大小写。请使用 str_ireplace() 函数执行不区分大小写的搜索。 一xss反射 get post
过滤规则为 xss_check_4addslashes()
addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。
预定义字符是
单引号双引号反斜杠\NULL
提示该函数可用于为存储在数据库中的字符串以及数据库查询语句准备字符串。
所以在中等级别引号被过滤掉了那这样的话我们简单测试
输入scriptalert(55)/script xss页面还是能出来的 get 和post 的绕过思路都是一样的只是post在url上面不显示看的话需要进行抓包 二XSS - 反射 ajax/JSON
AJAX 这个词第一次正式提出它是 Asynchronous JavaScript and XML 的缩写指的是通过 JavaScript 的异步通信从服务器获取 XML 文档从中提取数据再更新当前网页的对应部分而不用刷新整个网 页。后来AJAX 这个词就成为 JavaScript 脚本发起 HTTP 通信的代名词也就是说只要用脚本发起通 信就可以叫做 AJAX 通信。
xss user-agent
题目为user-agent 查看源码为addslashes() 函数过滤
定义
addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。
预定义字符是
单引号双引号反斜杠\NULL
提示该函数可用于为存储在数据库中的字符串以及数据库查询语句准备字符串
开启抓包拦截构造代码在user -agent 后面写入scriptalert(55)/script 三xss 存储型 cookie 查看源码为 html实体编码加上ENT_QUOTES模式无法实现绕过进行xss攻击 四XSS - Stored (Change Secret)
查看源码为 可以实现绕过前端我们在界面输入scriptalert(55)/script 发现输入成功 但当我们再去登录时发现另外的函数过滤 查看源码换新了在重新登陆时又把 和 进行了转码导致xss执行不成功 五XSS - Stored (Blog) 在页面简单测试 输入scriptalert(55)/script 页面弹出xss弹框 六XSS - Reflected (Referer)
用bp抓包在referer后输入xss代码就可以输出