sqli-0x1WEB 未解决

分数: 0 金币: 0
所属赛事: HackINI 2021
题目作者: 未知
一  血: Aman
一血奖励: 0金币
解  决: 1507
提  示:
描  述:
SQL injections are still a problem yes, even in 2021. Bypass the login mechanism and get access to the admin area.
评论
meilanzhuju 1年前

五边形战士

回复 0

波光摇曳 1年前

shellmates{c0ngr4tul4t10ns_U_d1d_1t!!_fe4cd84591ea}

回复 0

lzq2000 1年前

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

回复 3
黑化佩琪 8月前

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

回复 0

xzs297995 11月前

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

回复 0

在浅水中溺水么? 1年前

@234722457 987654要换成2a8610aefdd0028c6bf074dd18721c0ef8bc43241cc7a653d7aedf2036bdf6b3

回复 0

234722457 1年前

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

回复 0

lzq2000 1年前

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

回复 13
wlen 6月前

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

回复 0

星夜见月 8月前

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

回复 0

lzq2000 10月前

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

回复 2

lzq2000 10月前

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

回复 1

2957632449 1年前

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

回复 0

TwTsaltfish 1年前

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

回复 0

TwTsaltfish 1年前

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

回复 1

Am0s 1年前

大佬能讲解一下原理吗

回复 0

JJhello 1年前

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

回复 2

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 4月前

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

回复 0

yituoshi 1年前

感谢高手指导

回复 1

xinmin666 1年前

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

回复 0

Am0s 1年前

网站源码里面有好东西

回复 2

WriteUp

image
a2cai

2 金币

评分(21)

解题动态

Fullcity 攻破了该题 3小时前
xxiaoma 攻破了该题 19小时前
Bolzman 攻破了该题 21小时前
kakia 攻破了该题 22小时前
Shury 攻破了该题 22小时前
slience 攻破了该题 23小时前
骇客老斯 攻破了该题 1天前
13152548579 攻破了该题 1天前
play2win 攻破了该题 1天前
liuqj 攻破了该题 1天前
ricetry 攻破了该题 2天前
jdjisw0317 攻破了该题 2天前
liuguowang75 攻破了该题 2天前
sun_space 攻破了该题 2天前
w1329529602 攻破了该题 2天前
卯壬在此 攻破了该题 4天前
6只小鸡 攻破了该题 5天前
1031368023 攻破了该题 5天前
Dawn123 攻破了该题 6天前
daffodil6953 攻破了该题 7天前
问题反馈