zoukankan      html  css  js  c++  java
  • 第二章、遇到阻难,绕过waf

    第二章、遇到阻难,绕过waf

    0x01. 寻找注入点

    进入靶场

    image-20210116103140382

    寻找注入点

    http://59.63.200.79:8004
    

    一般新闻都会和数据库有交互,可以尝试在这个地方寻找注入点

    image-20210116103327316

    image-20210116103655808

    看到id你还不欣喜若狂,接下来就开始测试吧,而且还是一个asp的网站,怀疑后台用的是access数据库

    ?id=172
    

    image-20210116103807345

    ?id=173
    

    image-20210116104152303

    通过改变id参数的值,发现页面呈现不同的内容,可以判断应该是和数据库有交互,有回显,可以尝试联合注入

    0x02. 绕过waf

    ?id=173'
    

    image-20210116104238962

    遇到这个情况就很尴尬,通过get方式注入是不行了,哪还有什么方法呢,常见的有get,post,cookie,一般

    cookie提交的数据是不进行过滤的,心动不如行动,开始BP抓包测试

    开启代理,将抓到的数据包,发给重发器进行测试调节

    image-20210116105028786

    发现果然通过cookie可以传递id参数

    单引号测试

    id=171'
    

    image-20210116110255779

    数据库报错,但是并没有将报错信息显示出来,显然报错注入这种方法你不要想了

    0x03. 注入手法

    测试闭合方式

    id=171'
    id=171 and 1=1
    id=171' and 1=1--+    
    

    发现全部返回数据库出错,我醉了,我直接默认是数字型注入,开始order by

    id=171+order+by+1,2,3,4,5,6,7,8,9
    

    image-20210116114131066

    没有报错,我激动不已,可以说明两点,一是数字型注入,二是查询的字段个数大于9

    id=171+order+by+1,2,3,4,5,6,7,8,9
    id=171+order+by+1,2,3,4,5,6,7,8,9,10,11
    

    image-20210116114401163

    到11的时候,没有结果返回,说明字段个数只有10,嘿嘿他还凑个整,真的是够了

    判断数据在当前页面显示的位置

    id=1711+union+select+1,2,3,4,5,6,7,8,9,10+ 代表空格
    

    image-20210116114954152

    tmd竟然报错了,不讲道理啊,这语句没毛病啊,经过我深沉的思考后,难道后台真的是access数据库,不管了

    先试一试,在access数据库中使用union select后面必须要接表名,这点特别恶心,既然是找后台,那么估计

    八九不离十的有一个admin表,来一发试一试

    id=1711+union+select+1,2,3,4,5,6,7,8,9,10+from+admin
    

    image-20210116115425245

    乖乖老实了吧,不数据库报错了吧

    既然是access数据库,那就没办法像mysql数据库那样靠information_schema这个库去查表名,字段名了

    这种数据库的注入全靠猜,既然前面已经猜出来有admin表了,估计表下面会有id,username,password

    这三个字段,别问我为什么知道这些,你写个项目就知道了

    id=1711+union+select+1,username,password,4,5,6,7,8,id,10+from+admin+limit+0,1
    

    image-20210116120212629

    果然出来了,但是密码应该md5摘要后的,注意md5不是加密算法,野生程序员注意啦,我多年口算md5的经验

    告诉我,这是welcome,但是秉承着一向严谨的态度,证实一下我的口算

    image-20210116124347798

    我这口算依然是屡试不爽啊

    0x04. 登录后台

    既然要登录后台,但是我没有后台的地址啊

    你是不是想到了7kb,破壳这种扫描网站目录的工具,但是你忽略了题目的提示,默认后台,老司机的你还没想到

    admin吗?

    http://59.63.200.79:8004/admin/                     会自定跳到后台登录页面账号:admin密码:welcome
    

    image-20210116120900937

    image-20210116124534345

    0x05. 总结

    遇到access数据库,就看你会不会猜表名,字段名了,还要注意的是access数据库中使用union select 联合查询

    的时候后面一定要接from 表名

  • 相关阅读:
    'live-server' 不是内部或外部命令,也不是可运行的程序 或批处理文件。(解决)
    Node.js安装及环境配置之Windows篇
    开发模式
    IOS13越狱后虚拟定位插件的推荐,relocate
    python,向列表中追加字典,被最后的值覆盖的问题解决办法
    博客园cnblog使用百度统计等站长统计的方法
    IOS解锁哔哩哔哩大会员免费版越狱插件的cydia源
    filza无法安装deb(filza command not found)的解决办法
    Mac 中dock栏图标中文乱码英文正常的解决办法
    关于NVIDIA显卡控制面板中“调整桌面颜色设置”在重启后设置失效的处理方法
  • 原文地址:https://www.cnblogs.com/xcymn/p/15712472.html
Copyright © 2011-2022 走看看