突破SQL注入攻击时输入框长度的限制
2006-04-17 10:27
351 查看
作者: czy82
前天TK研究的一个网页改COOKIE的小玩意儿给我了一点点灵感
昨晚又和adam聊了聊SQL注入,今早上来就写了这篇东东.
xp_cmdshell 'net user abc def /add'这些命令大家想必都用烂了
吧,但是在实际的测试中我们常常会遇到这样的情况,服务器的asp
脚本没有对用户的输入做限制,但是在网页上通过对输入框设置maxlength
属性使我们的很多攻击就不能进行.
有些人可能会想到把网页考到本地,然后本地提交但是有一个
问题是有的网站通过简单的比较HTTP_REFERER和SERVER_NAME的值就可以
防止.
好了很多人没办法了吧,除了写SOCKET程序改变HTTP_REFERER还有一个更
简单的办法.
------------len.reg-----------------
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/MenuExt/扩展(&E)]
@="C://Documents and Settings//Administrator//桌面//len.htm"
"contexts"=dword:00000004
-----------end----------------------
-----------len.htm------------------
<script language=vbs>
set srcevent = external.menuarguments.event
set doc=external.menuarguments.document
set ele=doc.elementfrompoint( srcevent.clientx, srcevent.clienty )
if ele.type ="text" or ele.type="password" then
ele.maxlength=200
ele.size=200
end if
</script>
----------end-----------------------
用法:先把len.reg导入注册表(注意文件路径)
然后把len.htm拷到注册表中指定的地方.
打开网页,光标放在要改变长度的输入框上点右键,看多了一个叫扩展的选项了吧
单击搞定!
后记:同样的也就可以对付那些限制输入内容的脚本了.
附:防止本地提交的ASP代码.
<%
server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))
if mid(server_v1,8,len(server_v2))<>server_v2 then
response.write "<br><br><center><table border=1 cellpadding=20 bordercolor=black bgcolor=#EEEEEE width=450>"
response.write "<tr><td style='font:9pt Verdana'>"
response.write "你提交的路径有误,禁止从站点外部提交数据请不要乱该参数!"
response.write "</td></tr></table></center>"
response.end
end if
%>
前天TK研究的一个网页改COOKIE的小玩意儿给我了一点点灵感
昨晚又和adam聊了聊SQL注入,今早上来就写了这篇东东.
xp_cmdshell 'net user abc def /add'这些命令大家想必都用烂了
吧,但是在实际的测试中我们常常会遇到这样的情况,服务器的asp
脚本没有对用户的输入做限制,但是在网页上通过对输入框设置maxlength
属性使我们的很多攻击就不能进行.
有些人可能会想到把网页考到本地,然后本地提交但是有一个
问题是有的网站通过简单的比较HTTP_REFERER和SERVER_NAME的值就可以
防止.
好了很多人没办法了吧,除了写SOCKET程序改变HTTP_REFERER还有一个更
简单的办法.
------------len.reg-----------------
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/MenuExt/扩展(&E)]
@="C://Documents and Settings//Administrator//桌面//len.htm"
"contexts"=dword:00000004
-----------end----------------------
-----------len.htm------------------
<script language=vbs>
set srcevent = external.menuarguments.event
set doc=external.menuarguments.document
set ele=doc.elementfrompoint( srcevent.clientx, srcevent.clienty )
if ele.type ="text" or ele.type="password" then
ele.maxlength=200
ele.size=200
end if
</script>
----------end-----------------------
用法:先把len.reg导入注册表(注意文件路径)
然后把len.htm拷到注册表中指定的地方.
打开网页,光标放在要改变长度的输入框上点右键,看多了一个叫扩展的选项了吧
单击搞定!
后记:同样的也就可以对付那些限制输入内容的脚本了.
附:防止本地提交的ASP代码.
<%
server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))
if mid(server_v1,8,len(server_v2))<>server_v2 then
response.write "<br><br><center><table border=1 cellpadding=20 bordercolor=black bgcolor=#EEEEEE width=450>"
response.write "<tr><td style='font:9pt Verdana'>"
response.write "你提交的路径有误,禁止从站点外部提交数据请不要乱该参数!"
response.write "</td></tr></table></center>"
response.end
end if
%>
相关文章推荐
- c#突破Console.ReadLine() 的256 个字符输入长度限制
- 突破Console.ReadLine() 的256 个字符输入长度限制!(c#)
- 【项目经验】——文本框限制输入字符长度
- 如何限制一个UITextField的输入长度
- 如何更好地限制一个UITextField的输入长度
- textarea中限制输入字符长度(实用版)
- 关于iOS的键盘输入长度限制研究
- Android EditText 限制文本框输入的长度和提示信息
- 定制文本框可随便输入字符串或数字并限制长度
- [C#] TextBox限制输入长度(中文字算2码)
- 用JavaScript限制textarea输入长度 (For: IE、Firefox ...)[
- VC中CEdit过滤输入字符与限制输入字符长度
- android edittext 输入长度限制并提示
- EditText中禁止输入中文的方法及长度限制
- 限制多行文本框输入字符长度(两种方法)
- UITextField输入长度限制
- iOS TextView输入长度限制 设置placeholder
- textField 判断输入长度限制
- 输入长度的限制
- android text设置只能输入数字并限制长度