xss在平时的测试中,还是比较重要的,如果存在储存型xss,就可以做很多事情了,打cookie,添加管理员等等很多操作。

以下所有代码都是我自己写的,可能有不美观,代码错误等等问题,希望大家可以指正。

漏洞讲解

这是一个输入框

在里面写入经典弹窗代码

点击提交,再进入index.php

就会出现弹窗代码

这里,补充一下前面用到的代码

其原因就在于,没有对输入进行过滤,直接存入了数据库

简单修复

只需要在传入的时候对内容进行过滤就可以了

这里我们主要使用的是htmlspecialchars()函数,这个函数可以将其内容转化为HTML实体,就完美的防止了xss漏洞

我们只需要在插入数据库的时候对其进行处理就可以了

此时,看一下效果

这时,已经不弹窗了

此时的标签已经被转义成HTML实体了

拓展

其实xss的作用还是特别大的,绝对不仅限于打cookie等等,之前看到一个比较有意思的文章,说是骚姿势在后台一顿乱爬,其实质就是利用xss再结合一些其他的东西才达到的,所以说,思路一定要开阔,不要仅限于一个漏洞本身的那几个利用点

文章首发公众号:无心的梦呓(wuxinmengyi)

这是一个记录红队学习、信安笔记,个人成长的公众号

扫码关注即可

代码审计之XSS及修复的更多相关文章

  1. php xss漏洞修复用手段和用到的一些函数

    php xss漏洞修复用到的一些函数 $text = '<p>"Test paragraph".</p><!-- Comment --> < ...

  2. 1.5 xss漏洞修复

    1.XSS漏洞修复 从上面XSS实例以及之前文章的介绍我们知道XSS漏洞的起因就是没有对用户提交的数据进行严格的过滤处理.因此在思考解决XSS漏洞的时候,我们应该重点把握如何才能更好的将用户提交的数据 ...

  3. PHP代码审计之XSS操作

    XSS XSS是Cross Site Scripting(跨站脚本攻击), 它与sql注入攻击类似,SQL注入攻击中以SQL语句作为用户输入,从而达到查询/修改/删除的目的,而在XSS攻击中,通过插入 ...

  4. PHP代码审计笔记--XSS

    跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS.Web程序代码中把用户提 ...

  5. QCMS代码审计:XSS+SQL+后台getshell

    qcms是一款比较小众的cms,最近更新应该是17年,代码框架都比较简单,但问题不少倒是... 网站介绍 QCMS是一款小型的网站管理系统.拥有多种结构类型,包括:ASP+ACCESS.ASP+SQL ...

  6. 2020/1/29 PHP代码审计之XSS漏洞

    0x00 XSS漏洞简介 人们经常将跨站脚本攻击(Cross Site Scripting)缩写为CSS,但这会与层叠样式表(Cascading Style Sheets,CSS)的缩写混淆.因此,有 ...

  7. xss漏洞修复,待完善

    1.防止sql注入 /// <summary> /// 分析用户请求是否正常 /// </summary> /// <param name="Str" ...

  8. Struts网站基于Filter的XSS漏洞修复

    下面的代码只支持struts2框架中的xss漏洞 第一步,创建过滤器XssFilter : package com.ulic.ulcif.filter; import java.io.IOExcept ...

  9. JAVA代码审计之xss

    java_sec_code xss 补充和回忆一下一些开发基础 @RestController @RequestMapping(value = "/xss") public cla ...

随机推荐

  1. Ubuntu 18.04 下载地址

    http://mirrors.163.com/ubuntu-releases/18.04/

  2. Docker搭建Zookeeper&Kafka集群

    最近在学习Kafka,准备测试集群状态的时候感觉无论是开三台虚拟机或者在一台虚拟机开辟三个不同的端口号都太麻烦了(嗯..主要是懒). 环境准备 一台可以上网且有CentOS7虚拟机的电脑 为什么使用虚 ...

  3. YARN底层基础库

      YARN基础库是其他一切模块的基础,它的设计直接决定了YARN的稳定性和扩展性,YARN借用了MRV1的一些底层基础库,比如RPC库等,但因为引入了很多新的软件设计方式,所以它的基础库更多,包括直 ...

  4. unity shader 纹理&透明效果

    1.纹理映射基础 (1)纹理映射通过(u,v)坐标实现.注意:这句话时博主当时面试一家外企被问到的问题. (2)添加纹理属性:——MainTex("Main Tex",2D)=&q ...

  5. [Python] 数据结构--实现顺序表、链表、栈和队列

    说明: 本文主要展示Python实现的几种常用数据结构:顺序表.链表.栈和队列. 附有实现代码. 来源主要参考网络文章. 一.顺序表 1.顺序表的结构 一个顺序表的完整信息包括两部分,一部分是表中元素 ...

  6. P3705 [SDOI2017]新生舞会 分数规划 费用流

    #include <algorithm> #include <iterator> #include <iostream> #include <cstring& ...

  7. HDU 5973 Aninteresting game 威佐夫博奕(Wythoff Game)

    HDU 5973:http://acm.hdu.edu.cn/showproblem.php?pid=5975 题意: 有两堆石子,每次可以从一堆石子中取任意个,或者从两堆石子中取相同个数的石子.两个 ...

  8. CF - 652 D Nested Segments

    题目传送门 题解: 可以将所有线段按照左端点优先小,其次右端点优先大进行排序. 然后对于第 i 条线段来说, 那么第 i+1 ---- n 的线段左端点都一定在第i条线段的右边, 接下来就需要知道 i ...

  9. 牛客练习赛51 A abc

    A. abc 题意: 给出一个字符串s,你需要做的是统计s中子串”abc”的个数.子串的定义就是存在任意下标a<b<c,那么”s[a]s[b]s[c]”就构成s的一个子串.如”abc”的子 ...

  10. 【3】Decision tree(决策树)

    前言 Decision tree is one of the most popular classification tools 它用一个训练数据集学到一个映射,该映射以未知类别的新实例作为输入,输出 ...