美文网首页ctf程序员CTF-Web安全
实验吧-web-后台登录:(MD5绕过)

实验吧-web-后台登录:(MD5绕过)

作者: 简言之_ | 来源:发表于2019-01-25 21:03 被阅读151次

    后台登录:(MD5绕过)

    源码:

    image
    重点代码:
    $sql = "SELECT * FROM admin WHERE pass = '".md5($password,true)."'";
    
    在php中.(点)起连接的作用
    
    

    补充知识点:

    sql语言的固定格式:
    
    SELECT + 表字段名(*) + FROM +数据表名+ WHERE + 筛选条件
    
    *:代表所有字段
    

    MD5( )函数:

    image
    分析:
    true将16进制的md5转化为字符了,如果某一字符串的md5恰好能够产生如’or’之类的注入语句,就可以进行注入了.难点就在如何寻找这样的字符串
    原理:
    特殊的字符串使用md5加密后会出现 “or 'num' '值' ”,这样就构造出了or + 非零数字的SQL语句,通过SQL特性,该select语句直接搜索所有数据,从而得到结果。
    脑洞:
    发现URL里的ffifdyop.phpffifdyop是我们所要的字符串,这个字符串MD5incode后是:276f722736c95d99e921722cf9ed621c
    然后以上字符串再decode后是:'or'6<trash>
    加到原来的语句中就是:$password=ffidyop
    SELECT * FROM admin WHERE username = 'admin' and password = 'or'6<trash>
    成功绕过验证password 。所以提交ffifdyop得到flag。
    解析:
    存在 or 即代码的两边有一边为真既可以绕过,<trach>其实为垃圾代码没有任何用的。or 后面有6,非零值即为真。既可以成功绕过。
    payload: 提交ffifdyop
    image

    相关文章

      网友评论

        本文标题:实验吧-web-后台登录:(MD5绕过)

        本文链接:https://www.haomeiwen.com/subject/gpbvjqtx.html