大家好。拽拽又和你们见面了。^_^
今天要为大家简单的讲一下关于伪静态网站程序的一个通杀方法。
这里说的通杀方法不是指0day或者EXP这样的攻击通杀。只是为了在没有拿到原程序的伪静态组件或者由于自己的虚拟
主机提供商不愿意安装伪静态组件的时候才不得已为之的。这里我只是说如何对付伪静态组件。其他的DLL暂不论述。
这里拿等你的心发布的“web2.0经典----邻里公社”做例子。
因为前几天我看到站长求助版面有人提出这个程序的问题。涉及到了伪静态组件。
这里说一下。伪静态组件不一定就是通用的,一般都有自己的定义规则。
首先,还原数据库。然后修改连接数据库的字符串。
我本地已经设置好了。现在打开
http://127.0.0.1/Trade/index.asp
这个部分需要改动的地方很多,所以先拿这个开刀。一点点来分析。这个邻里公社程序需要改的地方很多。希望大家能
从这里举一反三。
http://127.0.0.1/Trade/1-1 (对比可以看
http://www.linjucc.com/Trade/1-1)
这个地方对应的代码为
复制内容到剪贴板
代码:
<%Call TradeClass("都市生活")%>遇到这样的还是用我以前讲过的,找顶部的包含文件。这里对应的是
复制内容到剪贴板
代码:
<!--#include file="../Inc/Con_Trade.asp" -->在Con_Trade.asp里找到TradeClass。相关代码为
复制内容到剪贴板
代码:
Public Function TradeClass(SortType)
response.Write("")
response.Write(" ")
response.Write("")
sql_show="SELECT * FROM MK_TradeClass WHERE SortID IN (SELECT MK_TradeSort.ID FROM MK_TradeSort WHERE name = '"&SortType&"') "
set rs_show=server.createobject("adodb.recordset")
rs_show.Open sql_show,Conn,1,1
i=0
while not rs_show.eof
if i mod 3=2 then
response.Write(""&rs_show("name")&"
")
else
response.Write(""&rs_show("name")&" | ")
end if
i=i+1 'info_list.asp?sortid=1&classid=1
rs_show.movenext
wend
rs_show.Close
set rs_show=nothing
response.Write("")
response.Write("")
sql_show="SELECT top 1 * FROM MK_Trade WHERE SortID IN (SELECT MK_TradeSort.ID FROM MK_TradeSort WHERE name = '"&SortType&"') and Picture<>'' "
set rs_show=server.createobject("adodb.recordset")
rs_show.Open sql_show,Conn,1,1
if not rs_show.EOF then
For i=1 TO rs_show.RecordCount
response.Write("")
response.Write(" ")
response.Write("")
response.Write("")
response.Write("")
rs_show.MoveNext
Next
end if
rs_show.Close
set rs_show=nothing
response.Write("")
response.Write("")
response.Write("")
End function不要觉得很长。要找出关键。
复制内容到剪贴板
代码:
if i mod 3=2 then
response.Write(""&rs_show("name")&"
")
else
response.Write(""&rs_show("name")&" | ")
end if 这个地方。要记住这样的话
:“既然是伪静态,肯定是有动态的程序可以还原的。因为它生成伪静态的过程就是
有动态程序变换的过程!”
说个简洁的就是,我们能找到那个动态的页面就成功了大半/。因为我们这个时候看连接
复制内容到剪贴板
代码:
""&rs_show("name")&"它没有指定某个文件去调用出数据库的数据来。
这样我告诉大家个笨方法。
http://www.linjucc.com/Trade/1-1 看官方的页面。
然后打开本地Trade目录,看下哪个页面和这个是类似的。然后我们定位info_list.asp这个文件。
剩下的就是“构造URL”。暂且这样叫它吧。通过比较数据库对应表后。尝试构造
复制内容到剪贴板
代码:
""这个时候。大家看下这个
http://www.linjucc.com/Trade/info_list.asp?sortid=1&classid=1是不是就还原出
http://www.linjucc.com/Trade/1-1 本来的面目了。呵呵。简单吧。
大体就是这样的查找思路。最后我总结一下。
首先是查找生成伪静态页面的动态页面。
然后根据数据库对应表的相关字段去构造URL,构造的过程不就是一种去数据库调出符合条件的数据的过程吗?^_^
大家相信有看过构造语句去尝试注入数据的语句。原理就是一样的。呵呵。
好了。 今天晚上事情比较多。教程写的比较零碎。说话也不大连贯。下次注意!
现在拽拽不再负责源码交流了。主要负责这个版面了。请大家多支持源码交流现在斑竹的工作。还有多多支持本版面!
呵呵。非常欢迎热心的会员把自己调试的过程和截图写出来。那会让拽拽非常开心和支持!
请继续支持站长中国!支持源码交流!支持调试区!web2.0经典----邻里公社