xss 之herf输出

  首先查看下漏洞页面,发现输入的1111,  直接传参到herf 中,

查阅资料得知:

输出出现在a标签的href属性里面,可以使用javascript协议来执行js

查看源代码:

  

if(isset($_GET['submit'])){
    if(empty($_GET['message'])){
        $html.="<p class='notice'>叫你输入个url,你咋不听?</p>";
    }
    if($_GET['message'] == 'www.baidu.com'){
        $html.="<p class='notice'>我靠,我真想不到你是这样的一个人</p>";
    }else {
        $message=htmlspecialchars($_GET['message'],ENT_QUOTES);
        $html.="<a href='{$message}'> 阁下自己输入的url还请自己点一下吧</a>";
    }
}

  可以看到 先输入了一个submit参数,如果不等于baidu.com, 就对参数进行htmlspecialchars转义 ,其中ENT_QUOTES是对单双引号都进行转义了。然后将我们的参数输出到a标签的 herf属性中。这时候,我们就可以构造我们的payload: javascript:alert(1)

  

从结果中可以看出,上面这种漏洞中我们可以轻易地利用javascript协议来执行任何我们构造的js代码。

  

猜你喜欢

转载自www.cnblogs.com/kuaile1314/p/11374272.html