sqli-labs通关
文章平均质量分 67
幕溪WM
这个作者很懒,什么都没留下…
展开
-
sqli-labs通关(二十三)
这一关是get类型当输入?id=1'时,出现报错信息,是由单引号闭合的但是输入?id=1'--+的时候,还是报错,说明我们的注释符可能被过滤处理了查看码源,确实是把注释符过滤了那我们还是根据语句构造?成功了判断字段数,这里不能用order by,只能不断往上加数字,不过一般都是3?说明是三个字段,只显示2号位,那我们就可以在这个位置进行注入?原创 2023-05-08 22:12:27 · 451 阅读 · 0 评论 -
sqli-labs通关(十八)~(二十二)
输入正确的账号密码,就会返回显示我们的User Agent信息,这是在我们的post请求里面的信息所以我们用burp suite拦截抓包那我们就可以对这个User Agent下手进行注入当我们把它改成1'时,出现如下报错信息,可以知道语句是由单引号和括号闭合的,但是还有两个参数打开源码看一下有一个insert语句,有三个参数,把我们的User Agent,IP和username插入到数据库的security.uagents中所以我们构造正常,没有语法报错。原创 2023-05-05 20:32:06 · 501 阅读 · 0 评论 -
sqli-labs通关(十七)
这一关跟前面的关卡都不一样,是全新的关卡,页面是一个密码重置页面,需要输入用户名,然后输入新的密码,就会把我们的旧密码替换掉。所以就会用到数据库的update更新数据,不再是前面的查询数据,所以之前的联合注入和布尔盲注以及时间盲注都不能用了。这里我们要用到之前使用过的报错注入。所以我们使用mid()函数来截取,因为是从32位开始不能看到,所以我们从第32位开始截取,截取后32位。这里要先输入正确的用户名,验证成功后才会把新密码替换,所以我们输入。但是回显并没有完全,因为报错回显只能回显32位。原创 2023-05-05 10:46:29 · 560 阅读 · 1 评论 -
sqli-labs通关(十四)(十五)(十六)
输入1",出现如下报错信息,告诉我们要双引号闭合所以我们输入1" or 1=1#没有任何返回信息,这一关和十三关一样,利用报错信息爆出数据。原创 2023-05-04 20:31:21 · 244 阅读 · 0 评论 -
sqli-labs通关(十三)
报错原理:xml文档中查找字符位置是用/xxx/xxx/xxx/...这种格式,如果写入其他格式就会报错,并且会返回写入的非法格式内容,错误信息如:XPATH syntax error:'xxxxxxxx‘没有任何的返回信息,只有报错信息,那我们就用报错注入,让返回的报错信息包含我们的想要的信息。0x7e是~的意思,用concat拼接我们的sql语句,不符合xml文档的格式,就会报错,参数2:XPath_string(Xpath格式的字符串),注入时可操作的地方。作用:改变文档中符合条件的节点的值。原创 2023-05-03 21:54:04 · 538 阅读 · 0 评论 -
sqli-labs通关(十一)(十二)
变成了一个登录页面,那么注入点就在输入框里面。前十关使用的是get请求,参数都体现在url上面,而从十一关开始是post请求,参数是在表单里面。我们可以直接在输入框进行注入就行。并且参数不在是一个还是两个。根据前面的认识我们可以猜测sql语句。大概的形式应该是这样username=参数 and password=参数 ,只是不知道是字符型还是整数型。跟第一关一样,我们直接用爆出数据库名和版本号。我们在输入框输入1',直接出现报错信息。判断字段数为2,因为3报错。根据报错信息,我们输入。原创 2023-05-03 20:52:01 · 155 阅读 · 0 评论 -
sqli-labs通关(九)(十)
接着判断数据库名,数据库名应该是大小写字母组成,对应的ASCII码应该是从41到112的范围内,可以用>或原创 2023-05-03 14:59:33 · 134 阅读 · 0 评论 -
sqli-labs通关(六)(七)(八)
输入?id=1",出现下面的错误提示,说明这是双引号闭合后面的跟第五关一样是布尔盲注。原创 2023-05-03 13:57:57 · 79 阅读 · 0 评论 -
sqli-labs通关(五)
但是这一关没有回显信息,输入正确就会出现以下信息,错误则会报错,说明存在布尔盲注,我们可以利用这个来进行判断。函数 substr(a,b,c),a是截取的字符串 ,b是截取的位置 ,c是截取的长度。length()函数是返回字符串的长度,先暂且猜测数据库名长度是1。开始攻击,8的返回长度不一样,所以猜测数据库名的长度就是8。然后就是逐个爆破后面字母,直到把8个字母的库名爆出来,但是。然后我们验证,显示正常,说明数据库名长度就是8。设置类型为数值,从1到20,步长为1。id=1,只有下面这种结果。原创 2023-04-30 22:11:24 · 782 阅读 · 0 评论 -
sqli-labs通关(四)
select...from...where id=("我们输入的信息") limit0,1。id=1"的时候,出现了报错信息,根据报错信息我们推测sql语句是。双引号和括号闭合前面的双引号和括号,--+注释后面的双引号和括号。id=1'结果都是一样,没有报错信息。原创 2023-04-30 15:53:11 · 88 阅读 · 0 评论 -
sqli-labs通关(三)
id=1',出现报错,并且报错信息给了我们提示,有对单引号把我们输入的1'包起来且后面有个括号,猜测sql语句应该是。select...from...where id=('我们输入的内容') limit 0,1。那我们把前面单引号和括号闭合,把后面的单引号和括号注释掉。后面的操作跟第一第二关一样,就不演示了。然后利用报错和联合查询查看回显字段。查数据库版本号,库名。原创 2023-04-25 21:56:09 · 297 阅读 · 0 评论 -
sqli-labs通关(一)(二)
注意,在Mysql5.0以上, Mysql自带了Information_schema这个数据库, 5.0以下是没有的,information_schema 数据库跟 performance_schema 一样,都是 MySQL 自带的信息数据库。而使用-- (有个空格),在传输过程中空格会被忽略,同样导致无法注释,所以在get请求传参注入时才会使用--+的方式来闭合,因为+会被解释成空格。id=10,我们发现输入的数值不同,返回的信息也不同,所以输入的数值应该是被代入到数据库中进行查询。原创 2023-04-24 21:48:33 · 117 阅读 · 0 评论