论坛: 菜鸟乐园 标题: 网站被黑 急 复制本贴地址    
作者: shengkou [shengkou]    论坛用户   登录
我一朋友管理的网站被黑 后台管理密码被改 
现在无法进去管理 http://www.wuxinews.com/sjy/
谁能给分析分析阿 谢谢拉

地主 发表时间: 05-01-14 20:00

回复: axpwx [axpwx]   论坛用户   登录
加我QQ29096323,我帮你解决,最恨这种小人了!

B1层 发表时间: 05-01-14 20:39

回复: uncracker [uncracker]   论坛用户   登录
这个要给权限才好解决的

B2层 发表时间: 05-01-14 23:11

回复: ma2751_cn [ma2751_cn]      登录
简单看了一下,应该是你所用的ASP程序有漏洞```````

换个程序吧````

懂得修补的修补一下,把数据库下载回来,然后打开改密码,很正常的啊````

B3层 发表时间: 05-01-15 19:02

回复: lijingxi [lijingxi]   见习版主   登录
管理员
用户名:诗家园
密    码:365629296****7458112

为了安全起见 我把中间4位隐藏了!

网站后台登陆地址: http://www.wuxinews.com/sjy/admin_index.asp

如果楼主觉得我的回答还满意就加我的QQ:607182吧! 1月21号晚上8点以前加! 过了这个时间就不要加了!
因为22号我就要去农村了!没电脑不能上网!!!


B4层 发表时间: 05-01-18 20:13

回复: lhh2003 [lhh2003]   论坛用户   登录
也就是asp注入,哎。。。。。

B5层 发表时间: 05-01-18 23:56

回复: ma2751_cn [ma2751_cn]      登录
光看楼主的URL和遭遇

就知道是SQL注入

这还用想吗``???

看来SYSTEM没被拿到`````HOHO

修补漏洞,偶不会ASP,找找无心那小子差不多。


[此贴被 丝路(ma2751_cn) 在 01月19日10时00分 编辑过]

B6层 发表时间: 05-01-19 10:00

回复: kcom [k_com]   论坛用户   登录
他的上传页删没有 啊

B7层 发表时间: 05-01-19 19:52

回复: VeryBest [x1234521]   论坛用户   登录
测试了一下,有注入漏洞,你可以利用这个漏洞把密码给读出来,(利用ASCII)!我想对方也应该用的这个漏洞,你可以在ASP编写的时候就注意这个问题,还有在出现错误的时候不要给出提示,这样就等于帮助别人攻破你的防线,加个 On Error Resume Next,这样就可以简单的跳过这个漏洞了,当然也有更好的方法,网上有很多的介绍,楼主自己找下吧 ,我讲的还没有网上的讲的好呢,呵呵 ~~~~~~~~~~,尽快修复吧,现在的年月还能看到这个漏洞,不容易啊,呵呵~~~

B8层 发表时间: 05-01-19 20:39

回复: dgy [dgy]   论坛用户   登录
你最好是检查一下你的asp是否有注入漏洞,再检查一下你的数据库是否加密或作防下载处理了.

B9层 发表时间: 05-01-20 01:34

回复: shengkou [shengkou]   论坛用户   登录
谢谢楼上的所有热心朋友
现在已经拿到密码了 不过漏洞还是没搞好 应为这方面我不懂,但他们的程序早晚要修补,
如果谁原意修补这个程序的话请加我qq:66003490 (可以付一些报酬,但不会多,望谅解)

B10层 发表时间: 05-01-21 10:26

回复: shengkou [shengkou]   论坛用户   登录
谢谢你朋友 我前几天没上线 抱歉 再次谢谢你的热心帮助

B11层 发表时间: 05-01-21 10:27

回复: lhh2003 [lhh2003]   论坛用户   登录
你自己添加一下代码也就是防注入的代码(这里我用了枫知秋的代码)
在需要防注的页面头部加入<!--#Include File="sql2.Asp"-->把下面代码保存为sql2.asp
或者直接把下面这段代码复制到CONN.asp(数据库连接文件)
<%
'--------定义部份------------------
Dim Fy_Post,Fy_Get,Fy_In,Fy_Inf,Fy_Xh,Fy_db,Fy_dbstr
'自定义需要过滤的字串,用 "枫" 分隔
Fy_In = "'枫;枫and枫exec枫insert枫select枫delete枫update枫count枫*枫%枫chr枫mid枫master枫truncate枫char枫declare"
Fy_Inf = split(Fy_In,"枫")
If Request.Form<>"" Then
For Each Fy_Post In Request.Form

For Fy_Xh=0 To Ubound(Fy_Inf)
If Instr(LCase(Request.Form(Fy_Post)),Fy_Inf(Fy_Xh))<>0 Then
Response.Write "<Script Language=JavaScript>alert('失落的雪提示你↓\n\n请不要在参数中包含非法字符尝试注入\n\n');</Script>"
Response.Write "非法操作!系统做了如下记录↓<br>"
Response.Write "操作IP:"&Request.ServerVariables("REMOTE_ADDR")&"<br>"
Response.Write "操作时间:"&Now&"<br>"
Response.Write "操作页面:"&Request.ServerVariables("URL")&"<br>"
Response.Write "提交方式:POST<br>"
Response.Write "提交参数:"&Fy_Post&"<br>"
Response.Write "提交数据:"&Request.Form(Fy_Post)
Response.End
End If
Next
Next
End If
If Request.QueryString<>"" Then
For Each Fy_Get In Request.QueryString
For Fy_Xh=0 To Ubound(Fy_Inf)
If Instr(LCase(Request.QueryString(Fy_Get)),Fy_Inf(Fy_Xh))<>0 Then
Response.Write "<Script Language=JavaScript>alert('失落的雪提示↓\n\n请不要在参数中包含非法字符尝试注入,\n\n');</Script>"
Response.Write "非法操作!雪已经给你做了如下记录↓<br>"
Response.Write "操作IP:"&Request.ServerVariables("REMOTE_ADDR")&"<br>"
Response.Write "操作时间:"&Now&"<br>"
Response.Write "操作页面:"&Request.ServerVariables("URL")&"<br>"
Response.Write "提交方式:GET<br>"
Response.Write "提交参数:"&Fy_Get&"<br>"
Response.Write "提交数据:"&Request.QueryString(Fy_Get)
Response.End
End If
Next
Next
End If
%>


[此贴被 失落的雪(lhh2003) 在 01月21日11时15分 编辑过]

B12层 发表时间: 05-01-21 10:48

回复: kuaipao [kuaipao]   论坛用户   登录
密码虽然很长,但是没有加密.嘿嘿~~~~~~~~~~~ http://www.20cn.net/cgi-bin/club/showpic.pl?u=kuaipao&f=tp.jpg


B13层 发表时间: 05-01-21 10:48

回复: shengkou [shengkou]   论坛用户   登录
谢谢失落的雪 我已将你的方法和具体做法给朋友看了 再次谢谢你的帮助

B14层 发表时间: 05-01-21 10:55

回复: shengkou [shengkou]   论坛用户   登录
蚂蚁快跑
何为密码加密?能给我说说吗?

B15层 发表时间: 05-01-21 10:56

回复: kuaipao [kuaipao]   论坛用户   登录
利用MD5加密,MD5加密候的字符串是不可以逆算的,就算人家知道你的密码,想破解出来也不是一件容易的事情.


<%@ Import Namespace="System.Security.Cryptography" %>
<%@ Import Namespace="System.Text" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<script runat="server" language="VB">
    Sub CreateAccount(sender as Object, e as EventArgs)
      '1. 创建连接
      Const strConnString as String
      strConnString= "Data Source=.;Initial Catalog=test;User Id=sa;Password=;"
      Dim objConn as New SqlConnection(strConnString)
     
      '2. 创建Command对象
      Dim strSQL as String = _
          "INSERT INTO UserAccount(Username,Password) " & _
          "VALUES(@Username, @Password)"
      Dim objCmd as New SqlCommand(strSQL, objConn)
     
      '3. 创建参数
      Dim paramUsername as SqlParameter
      paramUsername = New SqlParameter("@Username", SqlDbType.VarChar, 25)
      paramUsername.Value = txtUsername.Text
      objCmd.Parameters.Add(paramUsername)
     
 
      '加密密码字段

      Dim md5Hasher as New MD5CryptoServiceProvider()
   
      Dim hashedBytes as Byte() 
      Dim encoder as New UTF8Encoding()

      hashedBytes = md5Hasher.ComputeHash(encoder.GetBytes(txtPwd.Text))     

      Dim paramPwd as SqlParameter
      paramPwd = New SqlParameter("@Password", SqlDbType.Binary, 16)
      paramPwd.Value = hashedBytes
      objCmd.Parameters.Add(paramPwd)
     
     
      '插入数据库
      objConn.Open()
      objCmd.ExecuteNonQuery()
      objConn.Close()
     
      'Redirect 其它页面
    End Sub
</script>

<form runat="server">
  <h1>创建帐号:</h1>
  用户名: <asp:TextBox runat="server" id="txtUsername"/>
  <br/>
  密码: <asp:TextBox runat="server" id="txtPwd" TextMode="Password"/> 
  <p><asp:Button runat="server" Text="创建用户" OnClick="CreateAccount"/></p>
</form>

下面是对用户进行验证的ASP.NET代码:


<%@ Import Namespace="System.Security.Cryptography" %>
<%@ Import Namespace="System.Text" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<script runat="server" language="VB">
    Sub Login(sender as Object, e as EventArgs)
      '1. 创建连接
      Const strConnString as String
      strConnString= "Data Source=.;Initial Catalog=test;User Id=sa;Password=;"
      Dim objConn as New SqlConnection(strConnString)
     
      '2. 创建Command对象
      Dim strSQL as String = "SELECT COUNT(*) FROM UserAccount " & _
                        "WHERE Username=@Username AND Password=@Password"
      Dim objCmd as New SqlCommand(strSQL, objConn)
     
      '3. 创建参数
      Dim paramUsername as SqlParameter
      paramUsername = New SqlParameter("@Username", SqlDbType.VarChar, 25)
      paramUsername.Value = txtUsername.Text
      objCmd.Parameters.Add(paramUsername)
     
 
      '加密密码
      Dim md5Hasher as New MD5CryptoServiceProvider()
   
      Dim hashedDataBytes as Byte() 
      Dim encoder as New UTF8Encoding()

      hashedDataBytes = md5Hasher.ComputeHash(encoder.GetBytes(txtPwd.Text))     

      Dim paramPwd as SqlParameter
      paramPwd = New SqlParameter("@Password", SqlDbType.Binary, 16)
      paramPwd.Value = hashedDataBytes
      objCmd.Parameters.Add(paramPwd)
     
     
      '执行查询
      objConn.Open()
      Dim iResults as Integer = objCmd.ExecuteScalar()
      objConn.Close()
     
      If iResults = 1 then
        '合法
      Else
        '不合法
      End If
    End Sub
</script>

<form runat="server">
  <h1>登录:</h1>
  用户名:<asp:TextBox runat="server" id="txtUsername"/><br/>
  密  码:<asp:TextBox runat="server" id="txtPwd" TextMode="Password"/> 
  <p><asp:Button runat="server" Text="登录" OnClick="Login"/>
</form>

下面是MD5CryptoServiceProvider直接生成的例子:
<%@ Import Namespace="System.Security.Cryptography" %>
<%@ Import Namespace="System.Text" %>
<script language="VB" runat="server">
  Sub DisplayEncryptedText(sender as Object, e as EventArgs)
    If Page.IsValid then
      Dim md5Hasher as New MD5CryptoServiceProvider()
   
      Dim hashedDataBytes as Byte() 
      Dim encoder as New UTF8Encoding()

      hashedDataBytes = md5Hasher.ComputeHash(encoder.GetBytes(txtPassword.Text))   
   
      ltlResults.Text = "<b>Encrypted Results</b><br /> The results are encrypted into " & _
              "an array of 16 bytes.  These 16 bytes contain the values:<p><ul>"
   
      Dim b as Byte
      For Each b in hashedDataBytes
    ltlResults.Text &= "<li>" & b & "</li>"
      Next b
     
      ltlResults.Text &= "</ul>"   
    End If
  End Sub 
</script>

<form runat="server">
  Enter a string:
  <asp:TextBox id="txtPassword" runat="server" />
  <asp:RequiredFieldValidator runat="server" ControlToValidate="txtPassword"
          Display="Dynamic" ErrorMessage="<i>You must provide a value here...</i>" />
  <asp:RegularExpressionValidator runat="server" ControlToValidate="txtPassword"
          Display="Dynamic" ErrorMessage="<i>The string must be 20 characters or less...</i>"
          ValidationExpression="^.{1,20}$" />
  <br />
  <asp:Button runat="server" Text="View the String as Encrypted Text"
OnClick="DisplayEncryptedText" />
  <p>
  <asp:Literal runat="server" id="ltlResults" />
</form>




[此贴被 蚂蚁快跑(kuaipao) 在 01月21日11时20分 编辑过]

B16层 发表时间: 05-01-21 11:18

回复: lhh2003 [lhh2003]   论坛用户   登录
密码加密就是:密码以加密形式存储(就算是非法用户得到密码那也无法明文显示,只可以通过一些暴力破解软件破解),现在一些网站和论坛基本都用到了最流行的md5加密。
md5:让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数)。
一般都是以16位或32位的存储


B17层 发表时间: 05-01-21 11:25

论坛: 菜鸟乐园

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号