黑客技术文档之_Javascript注入解决办法
发布时间:2011-07-03 07:10:53 文章来源:www.iduyao.cn 采编人员:星星草
黑客技术文档之_Javascript注入
使用Javascript注入,用户不需要关闭或保存网页就可以改变其内容,这是在浏览器的地址栏上完成的。
命令的语法如下:
javascript:alert(#command#)
例如,如果你想在http://www.example.com站点上看到一个alert警告框,那么首先在地址栏上输入URL并等待页面加载完成,然后删掉URL并输入:
javascript:alert("Hello World")
作为新的URL。这将弹出一个“Hello World”警告框,使用这一技术几乎可以改变网页的任何内容,例如一张图片。假设有一张网站logo图片,我们通过查看页面源文件找到其中一段HTML代码:
<IMG Name="hi" SRC="hello.gif">
图片被命名为“hi”,源文件是“hello.gif”,我们想要把它改成存储在我们站点(http://www.mysite.com)上的“bye.jpeg”文件,因此图片完整的URL地址是http://www.mysite.com/bye.jpeg,使用Javascript注入,我们只需要在地址栏上输入:
javascript:alert(document.hi.src="http://www.mysite.com/bye.jpeg")
你将会看到弹出“http://www.mysite.com/bye.jpeg”alert警告,然后图片就被更改了。需要注意的是,这些更改只是暂时的!如果你刷新页面或者重新进入,你的更改将会消失,因为你只是在你的PC作了这些更改,而不是在网页服务器上。
使用同样的方法我们可以查看或更改变量的值,例如我们在网页上找到一段这样的代码:
<SCRIPT LANGUAGE="JavaScript">
var a="test"
</SCRIPT>
意思是变量a的值为“test”,现在我们输入:
javascript:alert(a)
然后我们将其值改为“hello”:
javascript:alert(a="hello")
Javascript注入通常被用来更改表单属性,假设有一段这样的代码:
<form name="format" action="send.php" method="post">
<input type="hidden" name="mail" value="someone@somewhere.com">
<input type="text" name="name">
<input type="submit" value="submit"></form>
我们想让表单发送到我们的邮箱,而不是someone@somewhere.com。
可以使用如下命令:
javascript:alert(document.format.mail.value="me@hacker.com")
也许你已经注意到了这些命令的层次关系:
我们按照从左到右的顺序依次说明:
1)最左边是document
2)然后是我们想要更改的对象名(比如document.hi.src)或其包含的对象(比如document.format.mail.value)
3)最后是我们想要更改的属性(比如源路径:document.hi.src,或变量值:document.format.mail.value)
4)使用“.”号分隔
5)当我们想要更改属性值的时候,我们使用“=”号和新的属性值
*注释:当新的属性值为字符串时(比如:document.format.mail.value="me@hacker.com")需要用双引号把它括起来。
如果我们想要把它作为一个变量的值,则不需要使用双引号""。例如我们想要将变量b的值赋予变量a,我们可以输入javascript:alert(a=b)。
但是,页面中的大部分标签都没有名字,比如:
<form action="send.php" method="post">
<input type="hidden" name="mail" value="someone@somewhere.com">
<input type="text" name="name">
<input type="submit" value="submit"></form>
在这段代码中没有表单名,综合上面这些信息,可以使用此命令:
javascript:alert(document. .mail.value="me@hacker.com")
在这种情况下我们必须统计并找出表单序号,下面是一个例子:
<form action="send.php" method="post">
<input type="text" name="name">
<input type="submit" value="submit">
</form>
<form action="send.php" method="post">
<input type="hidden" name="mail" value="someone@somewhere.com">
<input type="text" name="name">
<input type="submit" value="submit">
</form>
<form action="send.php" method="post">
<input type="text" name="name">
<input type="submit" value="submit">
</form>
在以上代码中我们看见了3个表单,但我们只对第二个感兴趣,因此我们想要的表单序号就是2。
不要忘记我们是从1开始计算的,比如1,2,3,4...而javascript却从0开始计算,比如0,1,2,3...
所以真正的表单序号是1,不是2,通常我们要把找到的表单序号减一。
我们将用这个序号来补全我们的命令:
javascript:alert(document.forms[1].mail.value="me@hacker.com")
这样你就可以更改没有名字的图片或链接了,你可以把“forms”换成任何你想要的标签类型。
对于图片就是
javascript:alert(document.images[3].src="#the url of the picture you want#")
对于链接就是
javascript:alert(document.links[0].href="#the url you want#")
最后,我们可以用这个技巧来编辑cookies。
下面的命令由triviasecurity.net的Dr_aMado编写,我只修改了一点点,让它在用户编辑之前显示出来。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
网络信息安全技术和网络安全技术有什么不同
请问:网络信息安全技术和网络安全技术有什么不同,如果自学网络信息安全技术/网络安全技...
-
请教一域名解析到多个共享IP
新买一个域名 17mf8.com
现有两个空间,里面分别放着一个论坛程序,一个主网站程序.两个空间都是共享I...
-
刷客动力搜索引擎seo刷流量刷百度下拉列表刷广告软件的用法(配图)
先看官方的介绍:
刷客动力网络营销系统工具是由好耶网络(...
-
CryptAcquireContext和CPAcquireContext有什么区别?
最近在搞CSP的开发,一直用CryptAcquireContext这个函数获取句柄,后来看了一些资...
-
冰天雪地裸体腾空360° 跪玻璃 求一个收费的长期的稳定快速的VPN
冰天雪地裸体腾空360° 跪玻璃 求一个收费的长期的稳定...
-
全国大学生信息安全竞赛
我是一位大二的信息安全专业的学生,想参加明年的全国大学生信息安全竞赛,不过不知道选什么课题之类的,比较...
-
网址能ping通,但是打不开网页
今天遇到这么一个问题。
网页打不开,提示说“载入页面时到服务器的连接被重置”,也不知道是怎么回事,但...
-
对Nfsen和Nfdump比较熟的来指点我下
假如我想抓网络信息,用Nfdump将nfcapd抓的信息解析出来可以存入一个文本,然后在nfsen图形界面...
-
不装杀毒软件电脑会有多大的危险?
装了个卡巴斯基,结果用个word它都查杀,杀毒能力强,但这是宁可错杀一千,不能漏网一个的手段,感觉这软...
-
笔记本装了win7通过无线路由上网,虚拟机装了fedora。fedora 无法ping通win7
笔记本装了win7通过无线路由上网,虚拟机装了fedora。fe...