sqli-0x1WEB 未解决

分数: 0 金币: 0
题目作者: 未知
一  血: Aman
一血奖励: 0金币
解  决: 1308
提  示:
描  述:
SQL injections are still a problem yes, even in 2021. Bypass the login mechanism and get access to the admin area.
评论
17743520638 9月前

这道题非常有意思

回复 0

meilanzhuju 10月前

五边形战士

回复 0

波光摇曳 11月前

shellmates{c0ngr4tul4t10ns_U_d1d_1t!!_fe4cd84591ea}

回复 0

lzq2000 1年前

<?php echo hash(“sha256”, “123”.“456”);?> 得到 8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92 123是口令,456是盐

回复 3
黑化佩琪 5月前

佬,这个属于sql注入哪方面的知识,我之前没听说过你的解法

回复 0

xzs297995 8月前

@234722457 2a8610aefdd0028c6bf074dd18721c0ef8bc43241cc7a653d7aedf2036bdf6b3$654应该是这个 而且密码是987

回复 0

在浅水中溺水么? 9月前

@234722457 987654要换成2a8610aefdd0028c6bf074dd18721c0ef8bc43241cc7a653d7aedf2036bdf6b3

回复 0

234722457 11月前

大佬,不用 123456 用 987654 为什么失败啊

回复 0

lzq2000 1年前

查询一个不存在的账号,拼接union select,将自定义的密码和盐生成的加密字符串注入,覆盖密码查询结果,使用自定义的密码即可通过密码校验,post发送: user=a'union select 1,'8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92$456'--+&pass=123

回复 13
wlen 2月前

@星夜见月 源码中有正则匹配,允许单引号在字母中间的输入

回复 0

星夜见月 4月前

为什么a'u这个不会被过滤出来

回复 0

lzq2000 7月前

@Am0s 联合查询其实本质就是手工增加了一个结果集,跟从数据库中真正查询出来的结果是一样的效果。这里因为数据库中存储的是加过密的信息,所以我们得构造一下加密结果。

回复 2

lzq2000 7月前

@2957632449 是的,联合查询其实本质就是手工增加了一个结果集,结果就是对应字段的值!

回复 1

2957632449 8月前

佬 这边1,'8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92$456' 这一串 会自动新建一个结果集是吗 然后'8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92$456'这边代表的是字段password里的值对吗

回复 0

TwTsaltfish 9月前

@Am0s 3、源码中验证sha256(明文密码$pass+$result["password"]中$后的字符串【$salt】)=$result["password"]中$前的值

回复 0

TwTsaltfish 9月前

@Am0s 1、猜测原先就是两个字段、账号密码,正常情况下搜到的就是这两个字段$result["user"],$result["password"];2、查询一个不存在的账号,没有union会是空的,union查询得到的第二个值(这里如果有多个无用字段要测试哪个是密码)会作为$result["password"]进入后面的逻辑;3、源码中验证sha2

回复 1

Am0s 10月前

大佬能讲解一下原理吗

回复 0

JJhello 1年前

不太懂,来个大佬讲解一下

回复 1

yituoshi 1年前

Half the truth is often a big lie:Welcome back admin! Have a flag: shellmates{c0ngr4tul4t10ns_U_d1d_1t!!_fe4cd84591

回复 0

chaoge 1年前

shellmates{c0ngr4tul4t10ns_U_d1d_1t!!_fe4cd84591ea}

回复 0

justsosoloveyou 1年前

先绕过用户名的正则过滤。查询一个不存在的账号,拼接union select,将自定义的密码和盐生成的加密字符串注入,覆盖密码查询结果,使用自定义的密码即可通过密码校验。

回复 10
shall0w 24天前

是说union之前的账号不存在还是select后的账号不存在?试了一下select后的账号只能是数字?这是什么原因呢

回复 0

yituoshi 1年前

感谢高手指导

回复 1

xinmin666 1年前

passwd:79e91f1ae35ac5854642191dd8926b5afe9359cbec1d224e0b1ee53f8955638b salt:7640ced2 可惜走错了路

回复 0

WriteUp

image
a2cai

2 金币

评分(17)

解题动态

2024hzqsec 攻破了该题 9小时前
Jeffers0n 攻破了该题 13小时前
0x2d3CN 攻破了该题 2天前
丝丝鲲鹏 攻破了该题 2天前
mgds 攻破了该题 2天前
zhuce 攻破了该题 4天前
liuliu乘 攻破了该题 5天前
huangxiyuan 攻破了该题 5天前
zzz666 攻破了该题 5天前
19591587311 攻破了该题 7天前
20030325lj 攻破了该题 7天前
fxstu 攻破了该题 7天前
18487205171 攻破了该题 7天前
Waitcat 攻破了该题 8天前
eleveni386 攻破了该题 8天前
13012749475 攻破了该题 9天前
燃燃然燃 攻破了该题 9天前
kbhjt 攻破了该题 9天前
13719176223 攻破了该题 9天前
这是一只跳跳虎 攻破了该题 9天前
问题反馈