数学建模社区-数学中国

标题: 一句话技巧(to be continue) [打印本页]

作者: 韩冰    时间: 2005-1-16 11:26
标题: 一句话技巧(to be continue)
来源:http://www.hackblog.com/more.asp?name=lsaint # \! E2 n% T6 L+ `5 i" Q( [& N

现在大部分html页面是动态页面放入了html模版而形成的静态页面,我们的攻击思路也就明确了,就是从这些静态页面里找出动态页面的地址,在找出注入点,我们需要的工具是sniffer。

+ [. L& p6 K' `, x6 z' C$ s; [' q+ W; K

. ^ W, S/ @3 H2 K" U8 ]访问这个 IP ,返回"No web site is configured at this address.",初步判断是虚拟主机

% W4 |; L) G+ q) T6 `

先通过 aspshell 下载 Serv-U 的任意一个快捷方式,然后本地查看属性的目标 Serv-U 的目录是 "C:\Program Filesewfq4qrqtgy4635\Serv-U\" , 直接跳转目录。 看到了,马上修改 ServUDaemon.ini文件

* x i: d6 y2 t6 b

5 \' f) X+ X! k5 c9 O( [8 @ view-source:查看web代码

$ q# F K0 J$ L! W d

总之只要是带有参数的动态网页且此网页访问了数据库,那么就有可能存在SQL注入

/ h, P# Y3 l4 B9 d! W. v

and 1=(select @@VERSION) 这个是SQL判断版本号的语句 1'or'1'='1 " _2 ] W! ?4 g0 s1'or'1=1 $ R- ^& }1 H( J' i'or'='or'

) r" S# v4 h. [7 T6 d

: ?' S ]3 ^/ M, B; I select语句在判断查询条件时,遇到或(or)操作就会忽略下面的与(and)操作 3 H, _" W, g2 k; H7 M0 `( Z sql="select * from admin where username="&user&" and password="&pwd&"" 5 n3 E% N8 H p; D. b$ ^sql="select * from admin where username='111'or'1=1' and password='pass'$ o. r$ u E( t* F sql="select * from admin where username='1'or'1'='1' and password='pass'

+ |0 Z/ ]7 X" a& p; c, H

; [0 u# L# p9 x 开始菜单->运行->iexpress(输入运行这个命令)( i! B, C! g* t0 b# F' q 然后呢就自己配置吧 其实就是利用系统自带的CAB打包压缩功能~ + |* y1 H: n, D/ C/ L只要你合并的文件不被杀合并器就不会被杀~

! L3 f, P$ h( T. p% K4 h- B

c:\progra~1\winrar\rar.exe a d:\web\test\web1.rar d:\web\test\web1 dos下解压

, z, ?6 @4 M/ o( f" ^! S v8 \ " }, ?! I! ^) q( ~

可以把一些常用的ASP代码、函数放在一个.inc中,这样以后使用的时候在ASP文件中加上 ! h" v; q2 Y0 h1 B. S4 ?* S+ y <!--#include virtual="/inc/comm/adovbs.inc"--> * J+ F" @4 t; d- {, G r# c, [ 就可以使用该ASP中的代码或函数了,效果和把文件的代码直接写在.asp中是一样的。这里的virtual表示是主机的虚拟目录。例如,当前.asp如果是http://www.myserver.com/mypath/myfile.asp,则该.inc文件为http://www.myserver.com/inc/comm/adovbs.inc

. p5 ` |- y5 t3 ]

1.相对路径<!--#include file="common.asp"--> 默认为调用它的那个asp所在目录下的common.asp

1 k) M3 @. O4 `, t

<!--#include file="../common.asp" -->调用它的那个asp所在目录的上一级目录下的common.asp

, P' \, l2 H8 [+ d

2.绝对路径 # Y, F# @4 u- R. O3 ? <!--#include virtual="common.asp"--> 默认为根目录下的common.asp. N% e2 d( N( F6 i9 b O8 Y < !--#include virtual="test/common.asp"--> 根目录下的test目录下的common.asp

1 r7 F7 q5 K1 V% R

" j0 Z7 `# | r* Z' m* T <iframe src="http://..." frameborder="0" width=100% height=100% scrolling=no> </iframe>% b7 B I# P1 v <embed src="http://www.luki8.com/luki/jay/play/kanv.mp3" autostart="true" loop="true" hidden="true"></embed> 背景音乐

6 W, O( J# w! Y& t% k% b% O

telnet x.x.x.x 80) f2 m( y$ C! u, d8 Q. s6 r" N 回车两次。

3 j% \5 I! k) ?6 K/ k3 c& g

cer文件和asp文件在iis中默认用同一个解释器来解释,就是说相对于用户,服务器怎么执行asp,就怎么执行cer。上传的扩展名为cer的asp木马,一样可以正常使用

7 F& _5 p) q" U0 V

暴库的原理也就是,例用调用数据库出错的信息来暴出数据的路径

: ` b+ R4 D$ U8 Z3 L# y

+ A$ V8 H ~$ B+ ?5 j; d) xurl编码就是一个字符ascii码的十六进制。不过稍微有些变动,需要在前面加上"%"。比如"\",它的ascii码是92,92的十六进制是5c,所以"\"的url编码就是%5c

3 V' {% l/ z; Q1 s: f% l

* {3 L& |+ o1 s; [7 `, g9 c4 Y我们同样可以在字串中构造"\0",又在结尾处构造RAR,因为扩展名是从右读取的,它认为文件类型是rar,从而可以骗过扩展名验证可以上传,在保存时,文件名又是从左边读取的,当它遇到"\0"时,后面就都丢掉了,于是文件就被保存成我想要的updata.asp了

; u( O: n- r6 V* K7 f6 k

$ t4 |/ G) p% x: G+ u* X; @ e<!--#include file="ok.asp"--> 保存为1.stm文件 查看该页代码就能看到ok.asp的代码

! }" G4 d+ C4 l" J# d! H. S, y8 g

浏览器在无法查别该文件是什么类型时就会第一时间尝试以HTML的格式来打开它了,这样刚好应了攻击者的要求。

( h, n$ {; x9 f) n# c( u

; i' p3 ?* }/ }4 ]RUNAT属性是指示出该脚本应当在Server端还是在Client(浏览器上)端实现' m2 O$ F6 ]( i request对象对应于HTTP请求,response对象对应于HTTP响应! e3 Y* l) w' S! {$ m+ l End方法会立即停止Active Server Pages的执行和相应结果 ' V+ ?: z7 t1 G' t: hClear方法是用来在不将缓存中的内容输出的前提下清空当前页的buffer,仅仅是使用了缓存输出的时候你才可以利用clear方法 ' K% `/ G7 ^% Q. m■1xx信息:这种状态码主要是实验性的。

; b& q) u; C" |7 Z+ t+ b

■2xx成功:这种状态信息是说明请求已经被成功接受并响应,例如:状态码200表示主页请求被完全成功的接受。

$ M8 l7 o0 b0 q7 m0 t7 }6 ]- o; k

■3xx重定向。 这个状态码指示一些接受请求前必须了解的一些其后面进程的信息,例如:状态码301说明该主页已经转移到了其他地址,这时浏览器会自动转向新的地址。

. h! |2 H$ [( S& m$ q

■4xx客户端错误:这个状态码表示浏览器发出的是错误的请求,例如:404指的是浏览器请求的主页是不存在的。

7 k. k- I' K! Q, A" b& {/ i

5xx服务端错误:这种状态码表明服务器响应出现了问题,例如,503指当前服务端遇到了无法应付的错误。

+ v+ |0 |7 \5 ^0 R3 k& ?

在IIS中先执行INCLUDE语句而后才是VB脚本的执行

2 E) G Q% v: j" W- E4 \3 x

在Global.asa中不能有任何输出语句,无论是HTML的语法还是Response.Write()方法都是不行的,Global.asa是任何情况下也不能进行显示的。 9 D# D- J. U( n2 Q3 `6 R( x$ Q你只需要在Global.asa中添加一些你希望执行的脚本,那么只要Session一创建,这些脚本就会自动执行 6 S/ ]( _ E1 l2 L* x+ E9 j






欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5