您的位置:首页 > 教育 > 培训 > sqli-labs-master初学者题目练习

sqli-labs-master初学者题目练习

2024/10/5 23:25:52 来源:https://blog.csdn.net/weixin_63032002/article/details/140921943  浏览:    关键词:sqli-labs-master初学者题目练习

Less-1

从源码可以看出id为注入点,且为单引号过滤

使用 ' 闭合

--+为注释 原本应该用--‘space’,但-与‘连在一起无法起到注释作用

order by为联合查询——同时查询两张表,但两张表列数必须相同

所有从以上两张图可以看出此表格有三列数据

爆出显示位,可以看出显示位为2与3

及在2与3位填写我们需要查询的内容

填写database()即可得到数据库名称 

?id=1 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+

group_concat是将查询到的结果连接起来,不然就这样一个数据

将table换成column以及table_schema='security'换成table_name='users'即可

可以看出users里面有username与password等列名

根据列名查询得到数据

Less-5

第五关没有提示信息

根据源码可以看出当我们输入正确与错误的id时他的显示页面是不同的,所以可以根据显示判断

此时我们可以选择盲注,length()判断数据库长度,ascii()和substr()联合使用,前者将后者截取的字母转化为asc码

由以上两张图可得数据库有8个字母组成

第一个字母为s,同理可得后面7个字母

Less-9

看源码可知无论id是否正确页面输出均为‘You are in...........’,所以第五关的方法就用不上了

此时我们可以用到一个新的方法

if(a,sleep(5),1)如果a结果是真的,那么执行sleep(5)页面延迟5秒,如果a的结果是假,执行1,页面不延迟。

1=1为真,所有页面加载5秒

得到数据库长度

然后后面步骤与第五关基本一致

Less-11

当我们输入1'时出现以下画面

判断是否存在sql注入

通过联合注入获取数据库信息,与第一关基本相同

Less-17

UPDATEXML(xml_target, xpath_expr, new_val)

其中,xml_target是要修改的XML类型的数据;xpath_expr是XPath表达式,用于指定要修改的节点位置;new_val指定新的节点值。

username有过滤,只能在password注入

注:有个问题,username必须正确才可以注入

输入:123' and (updatexml(1,concat(0x5c,database(),0x5c),1))#

二次注入

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com