|
来源:http://www.hackblog.com/more.asp?name=lsaint4 w; c1 B" D) r, |- P; a
现在大部分html页面是动态页面放入了html模版而形成的静态页面,我们的攻击思路也就明确了,就是从这些静态页面里找出动态页面的地址,在找出注入点,我们需要的工具是sniffer。
+ n1 ` @( H9 L+ k& A( Y8 X5 u. G8 i3 P8 \# ^
访问这个 IP ,返回"No web site is configured at this address.",初步判断是虚拟主机 $ F8 |( q3 |9 M* q* T
先通过 aspshell 下载 Serv-U 的任意一个快捷方式,然后本地查看属性的目标 Serv-U 的目录是 "C:\Program Filesewfq4qrqtgy4635\Serv-U\" , 直接跳转目录。 看到了,马上修改 ServUDaemon.ini文件
0 q6 c: Q. ?7 z5 {8 Q& B9 `6 o: F( E7 d: s
view-source:查看web代码 ' M6 f! z4 b# {4 A k7 I- z |
总之只要是带有参数的动态网页且此网页访问了数据库,那么就有可能存在SQL注入
! Q- q. Y1 @/ ?9 ~and 1=(select @@VERSION) 这个是SQL判断版本号的语句 1'or'1'='17 V* ~9 B) b2 ?7 I- `
1'or'1=1
: } O2 o6 ?( F7 ]3 U6 S: J'or'='or' ' \6 i0 H) H1 e8 V+ } T
# ^, |& B1 \# \- t
select语句在判断查询条件时,遇到或(or)操作就会忽略下面的与(and)操作
7 c+ e/ S O$ H- m$ s& A: asql="select * from admin where username="&user&" and password="&pwd&""
* i1 Y2 I6 y+ n* |# n; asql="select * from admin where username='111'or'1=1' and password='pass'1 y- h" ?. t$ \/ N: k1 E
sql="select * from admin where username='1'or'1'='1' and password='pass'
* J2 |; t9 f: F# z) t% H/ C* }' q7 a, j. J! I i8 R; r
开始菜单->运行->iexpress(输入运行这个命令)
' l: C% d5 H3 L0 I/ `) X7 D/ r然后呢就自己配置吧 其实就是利用系统自带的CAB打包压缩功能~, p, K X* t7 C1 V+ S" h' `' r4 D
只要你合并的文件不被杀合并器就不会被杀~
$ i" n7 L- d& r5 N8 W# Bc:\progra~1\winrar\rar.exe a d:\web\test\web1.rar d:\web\test\web1 dos下解压 : v5 {% u9 N" y& A/ Q9 P
6 n( N* C+ z z
可以把一些常用的ASP代码、函数放在一个.inc中,这样以后使用的时候在ASP文件中加上
! e$ z* ?5 @% x& m7 g( q$ f' `; i' V <!--#include virtual="/inc/comm/adovbs.inc"-->
# R6 h: j: X+ ~3 f; C6 t% G0 a# ?( N# L" k 就可以使用该ASP中的代码或函数了,效果和把文件的代码直接写在.asp中是一样的。这里的virtual表示是主机的虚拟目录。例如,当前.asp如果是http://www.myserver.com/mypath/myfile.asp,则该.inc文件为http://www.myserver.com/inc/comm/adovbs.inc。
: C( I! ?" O6 n2 {# }, B: A+ {1.相对路径<!--#include file="common.asp"--> 默认为调用它的那个asp所在目录下的common.asp
, ~, p' [4 ]/ L! K) ]/ J<!--#include file="../common.asp" -->调用它的那个asp所在目录的上一级目录下的common.asp
7 J, Y, t/ H5 P% J5 ^ v2.绝对路径 ' l' X0 F! G6 p* M" i! V; t
<!--#include virtual="common.asp"--> 默认为根目录下的common.asp
, p0 z, a; R4 J: k- y# Q< !--#include virtual="test/common.asp"--> 根目录下的test目录下的common.asp
" J4 T; C* H2 q9 s7 [
$ H0 f% v+ ~4 i: K! k) m8 r: |<iframe src="http://..." frameborder="0" width=100% height=100% scrolling=no> </iframe>
- }1 F0 M- `+ H# F5 m1 o<embed src="http://www.luki8.com/luki/jay/play/kanv.mp3" autostart="true" loop="true" hidden="true"></embed> 背景音乐
. y" o T* t6 q4 Atelnet x.x.x.x 80
) w/ w! p3 ?3 ~8 U7 z回车两次。
( J8 e4 a1 l7 y8 |: B) dcer文件和asp文件在iis中默认用同一个解释器来解释,就是说相对于用户,服务器怎么执行asp,就怎么执行cer。上传的扩展名为cer的asp木马,一样可以正常使用
) v, q* [- e2 f$ j4 S; @) I暴库的原理也就是,例用调用数据库出错的信息来暴出数据的路径 4 L. w6 n1 J" k0 l6 ]
8 u3 {+ b% z8 [' s) v6 {& @. X& rurl编码就是一个字符ascii码的十六进制。不过稍微有些变动,需要在前面加上"%"。比如"\",它的ascii码是92,92的十六进制是5c,所以"\"的url编码就是%5c
" s3 b& `0 ]* R/ c1 I! t
; l5 t; \% x t我们同样可以在字串中构造"\0",又在结尾处构造RAR,因为扩展名是从右读取的,它认为文件类型是rar,从而可以骗过扩展名验证可以上传,在保存时,文件名又是从左边读取的,当它遇到"\0"时,后面就都丢掉了,于是文件就被保存成我想要的updata.asp了
& x h# F8 I. c* S% d0 }( |2 b9 [& p7 x4 n4 V& C) C. T
<!--#include file="ok.asp"--> 保存为1.stm文件 查看该页代码就能看到ok.asp的代码 # O! M. Y* ^) J0 [ J8 ~
浏览器在无法查别该文件是什么类型时就会第一时间尝试以HTML的格式来打开它了,这样刚好应了攻击者的要求。 1 o; f, H- z( d j) ^7 e
, z$ f$ g0 F9 N8 I- E7 G6 [
RUNAT属性是指示出该脚本应当在Server端还是在Client(浏览器上)端实现7 W ^' z, z0 d9 D, O
request对象对应于HTTP请求,response对象对应于HTTP响应
S) y* p- C& s$ Q0 g1 F6 R" m1 \) s( ZEnd方法会立即停止Active Server Pages的执行和相应结果
0 E1 G/ I, r$ B# @3 e( IClear方法是用来在不将缓存中的内容输出的前提下清空当前页的buffer,仅仅是使用了缓存输出的时候你才可以利用clear方法+ C: C0 N; d% B) V6 B
■1xx信息:这种状态码主要是实验性的。 6 ? c! e/ u5 g9 `; ~$ c
■2xx成功:这种状态信息是说明请求已经被成功接受并响应,例如:状态码200表示主页请求被完全成功的接受。
7 D' e W. q9 }* n■3xx重定向。 这个状态码指示一些接受请求前必须了解的一些其后面进程的信息,例如:状态码301说明该主页已经转移到了其他地址,这时浏览器会自动转向新的地址。 $ }5 x! c5 h4 z3 C0 g9 B
■4xx客户端错误:这个状态码表示浏览器发出的是错误的请求,例如:404指的是浏览器请求的主页是不存在的。
1 G& u# z1 [( W+ V0 e$ D5xx服务端错误:这种状态码表明服务器响应出现了问题,例如,503指当前服务端遇到了无法应付的错误。 & b; F$ u, X. `
在IIS中先执行INCLUDE语句而后才是VB脚本的执行
! k: b6 \2 o$ G& A& [; C在Global.asa中不能有任何输出语句,无论是HTML的语法还是Response.Write()方法都是不行的,Global.asa是任何情况下也不能进行显示的。
( t% y' p& @+ l: K, W. l你只需要在Global.asa中添加一些你希望执行的脚本,那么只要Session一创建,这些脚本就会自动执行0 l# m9 R* N$ x/ g
|