ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

md5、sha1弱比较,md5($pass,true)总结

2022-01-21 23:02:04  阅读:276  来源: 互联网

标签:sha1 加密 pass 绕过 true md5


------------恢复内容开始------------

md5、sha1弱比较,md5($pass,true)绕过

一、md5、sha1弱比较

1.md5

  • $a = $GET['a'];
    $b = $_GET['b'];

    if($a != $b && md5($a) == md5($b)){...}

    一般遇到这种情况,都可以用md5的弱比较绕过

    部分字符串md5加密之后为0exxxx的格式,相当于0的xxxx次方,所以无论xxxx是什么,函数判断时都会认为相等。例如

    a=QNKCDZO,加密后为0e830400451993494058024219903391

    b=240610708,加密后为0e462097431906509019562988736854

    所以既满足了a!=b,也满足了md5($a) == md5($b)

    这里附上常见的0E开头的MD5
    0e开头的md5和原值:
    QNKCDZO
    0e830400451993494058024219903391
    240610708
    0e462097431906509019562988736854
    s1091221200a
    0e940624217856561557816327384675
    s1836677006a
    0e481036490867661113260034900752
    s532378020a
    0e220463095855511507588041205815
    s1665632922a
    0e731198061491163073197128363787
    s1184209335a
    0e072485820392773389523109082030
    s1885207154a
    0e509367213418206700842008763514
    s155964671a
    0e342768416822451524974117254469
    s1502113478a
    0e861580163291561247404381396064
    s214587387a
    0e848240448830537924465865611904
    s878926199a
    0e545993274517709034328855841020

     

  • if($_POST['param1']!==$_POST['param2']&&md5($_POST['param1'])===md5($_POST['param2']))

    对于这种post传值的情况,md5函数无法处理数组,也就是如果把a、b变成两个数组传入变量时,可以绕过md5

    例如

    a[]=1&b[]=2

    既满足a!=b,也可以绕过md5()函数

2.类似的函数还有sha1()散列加密 ,例如两个不同的字符串经过sha1加密后均为0E开头即可绕过

以下串在sha1加密后以0E开头,并且后面均为纯数字
aaroZmOk
aaK1STfY

sha1对数组不敏感,所以也可以用同上的数组方法绕过

二、md5($pass,true)

https://blog.csdn.net/March97/article/details/81222922

师傅已经讲得很详细了,总而言之就是当注入的pass=ffifdyop时,ffifdyop经过md5加密后变成 'or'6\xc9]\x99\xe9!r,\xf9\xedb\x1c 被返回, ' \ '后面的3个字符连同' \ '算一个字符,比如’ \xc9 ‘,所以上述一共16个字符。函数md5($pass,true)返回为true。

 

 

------------恢复内容结束------------

标签:sha1,加密,pass,绕过,true,md5
来源: https://www.cnblogs.com/87x00/p/15832075.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有