-
MFC ASP网络验证技术
大家好,我是cooling 今天就asp网络验证做一个介绍
基本模式是这样 客户端–>提交数据–>asp验证文件–>查询数据库–>返回false或true
那么这是一个基本get提交的网络验证模型,但很容易被模拟破解掉!
我们现在来看一个asp提交的数据
Set Rs = Conn.ExeCute(“Select * From [User] Where UserName = ‘”& UserName &”‘ And UserPassWord=’”& UserPassWord &”‘”)
If Rs.Eof And Rs.Bof Then这句话 在login.asp文件里面 是通过conn.asp链接数据库 然后查询username password字段里面的内容 username password也就是字段名了
Conn.asp 文件内容
<%
db = “./data/8da449528949b3699.mdb”
strCon=”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” & Server.MapPath(db)On Error Resume Next
Set conn = Server.CreateObject(“ADODB.Connection”)
conn.ConnectionTimeout = 10 ‘设置连接超时 这里设定连接超时为10秒
conn.Open strCon
If conn.Errors.Count <> 0 Then ‘判断是否正常连接 0 为非正常连接
conn.close
set conn=Nothing
response.write “数据库连接错误,请仔细检查数据库连接!”
response.end
End Ifsub CloseConn()
conn.close
set conn=Nothing
End Sub
%>那么通过这个语句 我们可以得知 提交的链接为URL/login.asp?UserName=xxxxx&PassWord=xxxxx
基本上都是明文 很容易就可以模拟返回的数据 本地搭建asp验证服务器 然后修改hosts文件 把域名的IP 指向到本地就可以了
当然了 首先还是得抓包 得到login.asp文件存在的路径 也就是确定下 他是在网站的根目录 还是子目录下。
以下是提交数据的截图
在我这个截图里面,asp验证文件在网站的根目录下 提交的数据 账户密码分别为hacker 返回 用户名或密码错误
说明 在我们的数据库里面 并没有这个ID和密码存在。在C++里面 如果asp文件返回的是 用户名或密码错误
那么这时候做一个if语句判断 可以根据自己的思想写code 让MFC登录框不关闭 返回false就可以了
在网络上下载了一个darkshell程序 经过抓包 发现他提交的信息是经过加密的
看样子 作者是为了防止被Cracker吧 说到防止软件被破解 并且基于mfc asp网络验证模型的
我们也可以参考这款darkshell程序 提交的信息加密下 然后在asp里面实现解密 然后再查询数据库就OK了
至于加密算法 如果程序是针对国内用户的 那么可以采用时间戳加密算法 但防止破解 被anti 还得在C++代码里面下功夫
首先 当返回数据的时候 CRC校验数据是否完整,然后 解析返回信息的那个域名(为了方便移动验证端 很多都采用动态域名解析 方便后期管理)
解析域名IP是否为127.0.0.1 如果为真 则软件关闭, 如果不为127.0.0.1 在hosts里面 写自己的外网IP也是可以的 那么就ping 域名 得到
time=xxms信息 如果低于10以下 基本可以确定为异常登录 如果破解者解析的IP 为自己的外网IP 那么这个time=值 基本上小于5以下
如果ping域名 得到的time信息 大于10 那么就反DNS 解析得到的IP 看在这个IP上面 是否有验证域名存在 如果有的话 说明是授权用户登录
这样的话 破解者估计要在本地搭建dns服务了, 我看到还有破解者 使用劫持ws2_32.dll的方法进行破解,我们可以在程序初始化的时候
遍历当前目录下 是否存在dll文件 如果存在 就删除掉 因为是这样的 Windows下的程序 在最先启动的时候 都会加载dll文件
如果在当前目录 就会加载的 如果不在当前目录 那么就加载system32目录下的dll文件,所以 得想办法把dll删除掉才可以
不允许dll存在 当然 我这是针对独立exe程序的防破解 如果你的程序在当前目录下也存在dll文件 如你的插件之类的
那么你可以提权写注册表 写加载dll绝对路径 最后一步 检测hosts文件 看下是否验证域名被人本地修改了!
针对mfc asp网络验证 基本上理解的都写出来了 希望对跟我一样菜的人 有点帮助吧 如果有写的不对的地方
欢迎指正。如果有其他方式被破解的方法 欢迎大侠们指点一二!!
一条评论 -
恶灵骑士DVD 种子下载(快播QVOD)
身为摩托特技演员的强尼.布雷泽(尼古拉斯·凯奇)自幼就对摩托车有着莫名喜爱。长大后强尼和父亲在一个娱乐场一起表演摩托车特技,同时他疯狂的爱着罗姗妮·辛普森(拉奎尔·阿莱西/伊娃·门德斯),当得知罗姗妮要被送走时,他们第二天中午决心私奔,然而,当天晚上他知道了父亲的秘密——晚期癌症,他痛苦的走进车厂修车,思考自己的抉择,这时与家族有着世代恩怨的恶魔墨菲斯托出现要和他达成契约,索要他的灵魂,交换条件是拯救他患上绝症的父亲和他曾经在童年时就埋藏在心底的挚爱——小美女罗姗妮·辛普森(拉奎尔·阿莱西/伊娃·门德斯)。为了保全亲人的性命,强尼在看协议时,不小心签下了与墨菲斯托的协议,失去灵魂的他也成为能驾驭摩托车在夜间飞驰的“恶灵骑士”。强尼·布雷泽在经历了短暂的挣扎与痛苦之后,开始学会了如何控制附着在体内与灵魂中的恐怖魔力,并渐渐将这种可怕的魔力转化成惩恶除奸的巨大力量,但凶狠的恶魔也在利用他的能量不断地吞噬着强尼的身体和灵魂。这时候恶魔墨菲斯托的儿子带着野心来到人间意欲拿走有着神奇魔力的圣凡冈萨契约,他和一帮妖魔手下四处为害,并最后绑架了强尼的心上人,胁迫强尼交出契约。老战警卡特(其实是墓园管理员)拿出了契约交给了强尼。两人共同踏上了消灭魔鬼之路……
-
PHP环境搭建笔记
解压PHP压缩包到任意盘根目录
重命名文件夹为PHP找到文件夹里面的php.ini-xxx 任选一个即可
新手用dist复制php.ini-dist到系统的Windows目录下
重命名为php.ini 然后打开php.ini 记事本打开即可
alt+f键查找字符 查找到extension=php_gd2.dll
extension=php_mysql.dll
把他们前面的(;)这个分号去掉 然后保存!找到你解压的php文件夹 把里面ext文件的php_gd2.dll和php_mysql.dll
复制粘贴到系统的Windows目录下
跟php.ini 同一目录!复制libmysql.dll到系统的system32目录下
打开IIS管理器 找到web服务扩展 打开 然后添加 扩展名php
点击添加按钮 找到php文件夹里面的 php5isapi.dll
勾选设置扩展为允许状态用php.ini-recommended的话 测试PHP环境搭建
需要在php.ini里面找到short_open_tag,然后把他的值改成on就可以了.以下是权限设置
php.ini 设置权限为administrator users权限
网站所在目录盘 为administrator web_user
php文件夹 为administrator users
mysql文件夹 为administrator web_user
设置完成之后 重启web服务
-
php5.2.17 phpmyadmin下载地址
php-5.2.17-Win32-VC6-x86.zip
http://windows.php.net/downloads/releases/php-5.2.17-Win32-VC6-x86.zip
http://windows.php.net/downloads/releases/php-5.2.17-Win32-VC6-x86.msiphpmyadmin
http://www.phpmyadmin.net/home_page/downloads.php
选择phpMyAdmin-3.3.9.2-all-languages.zip进行下载 -
Linux主机空间不能失败后缀大写文件
最近购买了一款Linux虚拟空间 把网站从原先的服务商转移到了新的空间
但是发现问题了 有些图片居然不显示 咨询了服务商 他说空间没有问题 是完全支持图片文件的
请自己检查网站程序,原先空间的服务商还没在线 数据库都没有拖出来 因为网站被关闭了
后来发现远程可以登录phpmyadmin 就进去备份了 然后安装dedecms 恢复数据库
然后更新缓存 网站操作是正常了 但是图片依旧不显示 再后来看到了可以显示的图片的后缀是小写
就找到了调用的图片 发现都是大写 然后就把后缀都改成了小写 更新网站缓存 更新网站html
一切正常了 阿弥陀佛思密达!!!
-
URL转发代码
(1)隐藏真实URL代码:
<html>
<head>
<meta http-equiv=”Content-Language”
content=”zh-CN”>
<meta
HTTP-EQUIV=”Content-Type” CONTENT=”text/html;
charset=gb2312″>
<title>Web Name</title>
</head>
<frameset framespacing=”0″ border=”0″
rows=”0″ frameborder=”0″>
<frame name=”main” src=http://Web.comscrolling=”auto”
noresize>
</frameset>
</html>(2)不隐藏真实URL代码:
<script
language=”javascript”>
url
= “http://tech.powereasy.net”location.href=url;
</script>(3)倒记时URL转发代码:
<meta http-equiv=”refresh”
content=”3; url=http://www.baidu.com”>推荐使用第一种 因为他在转发之后
当你操作网站内容的时候 比如浏览文章这时候他ie浏览器地址栏里面的url不会改变的
-
Dim fso, MyFile
Dim fso, MyFile
Set fso =
CreateObject(“Scripting.FileSystemObject”)
Set MyFile =
fso.CreateTextFile(“c:\testfile.txt”, True)
MyFile.WriteLine(“This is a
test.”)
MyFile.Close
Set MyFile =
fso.GetFile(“c:\testfile.txt”)
MyFile.Copy (“E:\test2.txt”) -
C++自定义函数strrev
当某XXX San到某.exe的时候 他被杀了
可以除代码重构之外
还可以自定义函数.实现无函数操作#include “stdafx.h”
#include
<stdio.h>
#include
<stdlib.h>
#include
<string.h>void Mystrrev(char*
s)
{
int len = strlen(s);
char* pNewStr = (char*)malloc(len + 1)
;
char* pNewMove =
pNewStr;
char* pStr = s +
len – 1;
while(pStr >=
s)
{
unsigned char ch = *pStr;
if(ch > 127) //中文判断
不太确定,这个条件是否严谨,在本机测试没问题
{
*pNewMove = *(pStr – 1);
pNewMove ++;
*pNewMove= *pStr;
pNewMove ++;pStr -= 2;
}else
{
*pNewMove =*pStr;
pNewMove ++;
pStr–;
}
}
pNewStr[len] = ‘\0′;
strcpy(s,pNewStr);
free(pNewStr);
}int main(int argc, char*
argv[])
{
char *strFirst =
“eliFdaeRtenretnI”;
Mystrrev(strFirst);
printf(“%s\n”,strFirst);
system(“pause”);
return 0;
} -
源代码免杀数字四引擎之自定义strlwr函数
在过数字四引擎的时候 定位到了一个strlwr函数
原型:extern char *strlwr(char *s);
用法:#include
<string.h>
功能:将字符串s转换为小写形式说明:只转换s中出现的大写字母,不改变其它字符。返回指向s的指针。
那么于是乎自定义去实现这个函数的用法#include <stdio.h>
char* Mystrlwr(char
*s)
{unsigned char AL;
register char *DX,*SI;
DX=SI=s;
while((AL=*SI++)!=’\0′)
{
AL-=’A';
if(AL>’Z'-’A')continue;
SI[-1]+=’a'-’A';}
return DX;
}经过测试 载入c32asm之后 搜索这个函数
没有了同样可以达到目的 并且修改之后免杀了!
-
世界,你好!
欢迎使用 WordPress。这是系统自动生成的演示文章。编辑或者删除它,然后开始您的博客!


