09134WEB漏洞-Oracle,MongoDB等注入

参数类型

数字integer、字符型、搜索型、JSON等

select * from user where name='ford'
字符型需要单引号或双引号括起来,才被认定为字符串,所以字符型参数肯定有符号

name=name=_GET['x'];
select * from user where name='$name';

?x=ford and 1=1
select * from user where name='ford and 1=1';
1=1加上’变成单纯的字符串了

sql数据库识别字符串必须是加''的

数据库的通配符是 % %
select * from user where name like '%ford%'

sql语句干扰符号:',",%,),}等,看代码写法而定

json

{
"user"="ford and 1=1",
"pass"="ford"
}
即数组形式的键值对

同其他参数类型相比只是格式变了
接收值即注入点:ford' and 1=1
加':
select * from users where username='{$name}' {}是数组形式就得加,无关闭合
纯数字的话不用闭合,字符的话需要闭合'

请求方法:更改请求方式尝试绕过WAF

GET,POST,COOKIE,REQUEST,HTTP头等

不同请求方式上传文件大小、类型都不同

get请求的数据包写在get后面 上传大数据不合适,用post

get的参数只要在后面跟数据包就能接收到,不管请求方式是否为get

 

post=post=_POST['p'];
接收的数据写在请求体中

c=c=_COOKIE['c'];
写在数据包的请求头里
Cookie: c=111
先手动添加cookie再get数据包中更改cookie

r=r=_REQUEST['r'];
全部接收,放在任意位置都能接收

s=s=_SERVER['********'];
uagent =uagent=_SERVER['HTTP_USER_AGENT'];
IP =IP=_SERVER['REMOTE_ADDR'];

接收不同的数据有不同参数写法 设备信息语言等等

数据库接收数据包中数据,因此产生的注入称为http头部注入

符号'--+'和'#'注释符,将后面的内容注释掉
127.0.0.1:8088/Less-5/?id=1' --+
--+ 或者 # 具体用哪个根据数据库而定,不一定哪个能用

只要是对数据库进行操作的函数都可以注入,无论是select或是insert,数据包位置uagent还是post提交的参数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值