论坛: 黑客进阶 标题: 大胆假使 复制本贴地址    
作者: ltb [ltb]    论坛用户   登录
   我们在破解,,软件的时候,,不是有一种,方法就是,
  利用和内存中的密码比较,通过用一个16位的编辑器,,
  查看那里的原来的密码,,
  我做个假使,,就是所有的本地的,,软件的密码都可以破掉,,
  那么要是是远程的啊,那它是不是在输入密码的时候也和那正确的密码比较
  那正确的 密码是不是也导入了本机内存,,如果是,那依然容易破了,
  如果不是是,那它们又是如何比较的 啊,
  又该是,,,,怎么样.................
  

地主 发表时间: 03/18 18:57

回复: NetDemon [netdemon]   ADMIN   登录
正确的密码是在内存中了,但它并不是实际的密码
加密方法有很多种,大类型也有几种,具体我就不说了,我说个比较容易理解的例子

比如你的密码是ltb,那么保存密码的时候一般不会已ltb形式保存,会用加密方式或其他的编码方式保存,如ctypt(),这样ltb就被编码为18UErkMt2l92k。如果是telnet这样的明文协议,他会送出ltb到服务器那,服务器端用crypt('ltb')得出一串18UErkMt2l92k这样的,再比较,相同就是密码对了。因为你是不可能通过18UErkMt2l92k反过来算出ltb的(原理太复杂,数学的,我也说不上来),所以就算你得到了18UErkMt2l92k也无法得出他的实际密码ltb

至于ssh这样的那就更加复杂了,要说就一大摞了

B1层 发表时间: 03/18 20:19

回复: ltb [ltb]   论坛用户   登录
    老大就是老大,我明白呢!!THANK YOU !!

B2层 发表时间: 03/19 09:43

回复: SysHu0teR [syshunter]   版主   登录
看看大学里计算机网络这本书上对RSA算法的描述,就知道了从明文转换为密文和把密文转换成明文之间的开销有着天壤之别。

B3层 发表时间: 03/19 11:17

回复: 286 [unique]   版主   登录
楼顶老弟,你想的不错,就是想的太少了。
1 密码的确在内存中,为防你读出,所以是加密的。
2 加密算法已知,那你可以这样作,已知用ltb加密可得18UErkMt2l92k,我不管他原来的密码加密后是多少,我直接把18UErkMt2l92k覆盖原来的密码区,这样,只要机器不启动,当前的密码就自然而然的成了ltb,但遗憾的是,为防你修改这个区是只读的,不能写。
3 完全穷举是无意义的,我们知道,密码是通过键盘输入的,键盘只能输入95种可能,因此我们把这95组成的各种组合(其实一般人输入的只是小写字母)都加密后和那个位置作比较,正确的当然就是密码了。
  哈哈哈。。。。
  Micro$oft的一帮人个个都不是傻子,之所以还是被读出,是因为我们更聪明。

B4层 发表时间: 04/08 15:41

回复: gdwss75 [gdwss75]   论坛用户   登录
对啊,密码肯定是加过密的啊,要是都明文的话,那岂不是谁都能破了,要破解高手做什么啊,呵呵

B5层 发表时间: 04/11 11:35

论坛: 黑客进阶

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

粤ICP备05087286号