社区
C#
帖子详情
对于密码有加密保护的网页自动登陆如何用C#实现?
oyzdz1988
2008-09-29 12:33:36
我想写一个网页的自动登陆程序,我要登陆的网页没有验证码,只要提交账号和密码即可,但是那个提交的密码是经过加密后提交的,
我看了源文件,是用MD5加的密,这样我提交的密码和要求的肯定就不一样了,因而也就登陆不了,这怎么解决呢,难道说知道密码还
登陆不了?或者我想知道是否能够自动获取变化完后的密码?我知道经过md4或md5加密是不可逆
...全文
405
14
打赏
收藏
对于密码有加密保护的网页自动登陆如何用C#实现?
我想写一个网页的自动登陆程序,我要登陆的网页没有验证码,只要提交账号和密码即可,但是那个提交的密码是经过加密后提交的, 我看了源文件,是用MD5加的密,这样我提交的密码和要求的肯定就不一样了,因而也就登陆不了,这怎么解决呢,难道说知道密码还 登陆不了?或者我想知道是否能够自动获取变化完后的密码?我知道经过md4或md5加密是不可逆
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
brallow
2008-09-29
打赏
举报
回复
这个我明白了,它的share_value值是由网页每次访问时随机(或者根据某种规律)生成的,所以每次都会不同。
这类似于验证码,要解决它也非常简单,每次实现自动登录之前你先访问这个网页,从返回的网页中取出这个share_value的值,它是明文的!!
比如你给我的这个网页就是:
var sharedValue = 1182108206;
你用正则表达式或者直接用search从返回的HTML中把这个值读出来,然后你再自己做两次MD5,再用一般的规则发给服务器了。
brallow
2008-09-29
打赏
举报
回复
呵呵,我想你可能没有明白问题所在。
1:如果你知道它是用MD5加密的,那么问题很好处理。尽管你不可能解密MD5,但是你是知道真实密码的,你只需要按MD5算法加密你的密码,然后当成密码发给服务器即可,有什么问题呢?
2:一般来说像你说的对密码有加密的情况,可能有几种:
*使用脚本做了些简单处理,但这基本没有意义。
*使用一些浏览器插件在发送密码之前就加密密码,使用这种方案,你看到的密码输入框根本就不是普通的文本框,一般情况下你也不可能使用的是什么加密算法。
*使用SSL协议对整个通信过程加密
对于方案一我觉得只是技术上有可能,但应该没有人会这样做;
对于方案三我觉得你不太可能能够分析出任何有价值的东西,呵呵。因为SSL非常难处理;
对于方案二才是重点。其实你要登录系统,重点就是发出正确的GET或者POST数据包,你可以使用一些httpWatch之类的软件监视你在登录时发出的数据包,然后写程序模拟这个数据包的发送即可。
oyzdz1988
2008-09-29
打赏
举报
回复
补充一下,
网页的加密函数外壳如下:
<script language="javascript">
var sharedValue = 1182108206
function change(){
var pw = document.form1.password.value;
pw = hex_md5(pw);
//alert(pw+sharedValue);
pw = hex_md5(pw+sharedValue); //用共享数值再次加密
//document.write(pw);
document.form1.password.value = pw ;
// return true;
}
另外我附上输入框
<td width="286" height="124" ><div align="center"><span class="style10"><img src="../resources/images/dot.gif" width="7" height="7"> 用 户:
</span>
<input type="text" name="uid" class="text" size="15" >
</div>
<br>
<div align="center"><span class="style10"><img src="../resources/images/dot.gif" width="7" height="7"> 密 码:</span>
<input type="password" name="password" class="text" size="15">
</div>
<br>
<div align="center">
<input type="hidden" name="command" value="studentLogin">
<input type="submit" name="Submit" value="提交" onclick="change();" class="button">
请大家不厌其烦地再帮我看看吧,感谢啊!!!
oyzdz1988
2008-09-29
打赏
举报
回复
[size=11px]感谢专家的精彩回答!
我还想问一下,现在我知道那个网页确实是使用md5加的密,但它用md5对密码进行了连续两次的加密,一次是对密码字符串本身,
后面一次是对加密后的字符串再加上一个叫共享数值的东西,那个数每次刷新网页都变化的,不知道怎么回事,这样难道最后提交的
md5会是样吗,所以现在存在的关键问题是如何确定那个共享数值,我不知道那个数值是怎么生成的,请问专家是否可以直接从网页
上获取呢?给我说一下方法吧。。。
[/size]
sxmonsy
2008-09-29
打赏
举报
回复
用MD5加密就行,注册和登陆的时候全用.
tinalucky
2008-09-29
打赏
举报
回复
楼主可以试一下把用户名、密码用MD5加密存入数据库当做真实的用户名和密码,这样网页提交的加密后字符串就能与数据库的用户名、密码匹配了
kingcsx666
2008-09-29
打赏
举报
回复
帮忙顶一下,前面有答案啦
格拉
2008-09-29
打赏
举报
回复
[Quote=引用 1 楼 phy 的回复:]
呵呵,我想你可能没有明白问题所在。
1:如果你知道它是用MD5加密的,那么问题很好处理。尽管你不可能解密MD5,但是你是知道真实密码的,你只需要按MD5算法加密你的密码,然后当成密码发给服务器即可,有什么问题呢?
2:一般来说像你说的对密码有加密的情况,可能有几种:
*使用脚本做了些简单处理,但这基本没有意义。
*使用一些浏览器插件在发送密码之前就加密密码,使用这种方案,你看到的密码输入框根本就不是普通…
[/Quote]学习帮顶
yudi010
2008-09-29
打赏
举报
回复
md5是一个加密解密一起的程序机制
所以你肯定不知道他如何加密的,你只要在调用的时候加密一下
然后再解密一下就可以了
我现在就是用的这个md5
jadedm
2008-09-29
打赏
举报
回复
[Quote=引用 1 楼 phy 的回复:]
呵呵,我想你可能没有明白问题所在。
1:如果你知道它是用MD5加密的,那么问题很好处理。尽管你不可能解密MD5,但是你是知道真实密码的,你只需要按MD5算法加密你的密码,然后当成密码发给服务器即可,有什么问题呢?
2:一般来说像你说的对密码有加密的情况,可能有几种:
*使用脚本做了些简单处理,但这基本没有意义。
*使用一些浏览器插件在发送密码之前就加密密码,使用这种方案,你看到的密码输入框根本就不是普通…
[/Quote]
这个说得蛮不错的, 关注中。。。。!
hangang7403
2008-09-29
打赏
举报
回复
帮顶
shulei521
2008-09-29
打赏
举报
回复
[Quote=引用 2 楼 cl61917380 的回复:]
引用 1 楼 phy 的回复:
1:如果你知道它是用MD5加密的,那么问题很好处理。尽管你不可能解密MD5,但是你是知道真实密码的,你只需要按MD5算法加密你的密码,然后当成密码发给服务器即可.
.
[/Quote].
oyzdz1988
2008-09-29
打赏
举报
回复
感谢phy的回答,看样子今天可以结帖了。。。hoho
coooliang
2008-09-29
打赏
举报
回复
[Quote=引用 1 楼 phy 的回复:]
1:如果你知道它是用MD5加密的,那么问题很好处理。尽管你不可能解密MD5,但是你是知道真实密码的,你只需要按MD5算法加密你的密码,然后当成密码发给服务器即可.
[/Quote].
本地
密码
加密
保存实例
C#
2008
本地
密码
加密
保存
C#
2008 当输入了
密码
后,按保存键即可将
密码
加密
保存在本地.当程序再次运行后,将会
自动
读取
密码
并解密.以防止用户查看本地记录信息获取出
密码
.(在本测试程序中,为用户方便查看
密码
,设置了一个选项,...
RDP文件
密码
加密
、解密算法.rar
Windows远程登录使用的是一个rdp后缀的...
加密
后的密文可以放在rdp配置文件里面,这样就可
实现
不输入用户
密码
自动
远程登录。 完整的
C#
代码,vs2008工程,可编译和运行。 可以使用RDP.exe来验证
加密
后的密文是否正确。
一机一码
加密
、被破解
自动
销毁随时授权回收升级系列视频课程
1、 软件破解与防止破解知识、
加密
与反编译 2、把部分代码写成dll的形式,增加破解难度 3、防止软件被恶意破解和修改,如果被修改将
自动
销毁。 4、
C#
引用c++制作生成的dll来提高破解复杂度。 5、被破解泛滥,可回收...
C#
自动
修改Default.rdp,调用mstsc.exe
实现
全
自动
远程登录
Default.rdp里面的登录
密码
不是明文,而是
加密
的密文,该
C#
代码
实现
了登录
密码
的rdp
加密
得到密文。 完整的
C#
代码,vs2008工程,可编译和测试。 代码里面的Default.rdp文件(和可执行程序在同一个目录)也可以远程...
用
c#
实现
路由器
自动
断线换IP
路由器登录验证方式是采用BASE64
加密
登录名:
密码
这样的格式.如admin:admin得到的加
密码
串是YWRtaW46YWRtaW4= 在
c#
里可以很容易的
实现
Convert.ToBase64String(Encoding.Default.GetBytes("admin:admin")) 我们使用...
C#
110,561
社区成员
642,566
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章