选择云服务器的原因:XSS跨站攻击实例

来源: 作者:阿己 发布时间:2021-01-21 17:38:37

  很多登陆界面都有记住用户名、密码的功能,方便用户下次登录,有些网站是直接用明文记录用户名、密码。
 

  攻击者通过账户登陆页面,使用简单工具查看cookie结构名称后,如果网站有xss漏洞,那么简单的利用j5onp就可以获取其它用户的用户名和密码了。


 

  利用几句简单的JavaScript,在用户浏览器执行第三方黑客工程的js文件,获取了cookie中的用户密码并发起一个黑客工程的Http url请求,这样黑客工程就获取了用户的账号密码。


 

  这时,用户自己登录了论坛,而黑客提供了一个被伪装的链接,一旦点击该链接就会在论坛上发起一个Http url请求,即将表单信息进行提交。
 

  或者说,有这么一个登录页面:

  一个用户的账号为abc,密码为123,他觉得每次访问还需要输入账号密码是件非常麻烦的事,因此选择了保留。F12可以看到Html页面是这样的:

  如果直接在账号栏输入,然后输入一个错误的密码,并没有执行script代码,因为返回的html页面是这样的:


 

  上图中那样的script代码是不会执行的,因为在input的value中只有独立的script代码才会执行。所以要想实现script代码的执行,就需要进行拼接,将script代码排到input标签外。

  怎么实现呢?

  说白了就是自己拼接,将input标签进行闭合,然后将script代码缀在后边,通过用户名的输入,将input拼接成如下,即可实现script代码的执行:

<input name="userName" class="textcss" id="userName" type="text" value="abc"/><script>alert("1")</script>"/>
 

  因为此时input已经闭合了,所以script代码会执行,至于拼接后的html文件是有语法错误的问题(因为最后剩下一个"/>,这个html是有错误的,但是不影响页面展示和script代码执行)就可以忽略了。

  因此,只需要在用户名那里输入abc"/>,然后输入一个错误的密码,点击登录,就会执行script代码,弹出弹框。