• 记一次ASP+ACCESS手注


    查找注入点

    注入点一般存在于数据交互的位置,比如新闻,要事,各种活动……等等位置,所以先访问新闻页面,打开的网址是:http://192.168.1.102/NewsInfo.asp?Id=131,但是不知道这里是否存在注入,那就先猜测这个页面存在注入点吧

    验证是否存在注入点,payload:?Id=131%20and%201=2(当然使用别的语句也能实现.),发现页面变成了下面这样,显示异常,则可判断其存在注入.

    猜表名,这里我是借助burpsuite进行猜测table_name

    如果使用这种方法的话会对字典有一定的要求,不过兼容性好,速度慢,啊D明小子也是使用的这种方法,如果可以的话,还是先尝试进行联合查询

    配置好代理后,使用payload:and exists (select * from admin),进行抓包,并发送到Intruder模块

    将需要爆破的位置设置变量,并配置字典


    配置完成后,进行攻击,并对返回包大小进行判断,发现存在两个表:userManage_User

    得到table_name后,尝试猜columns_name

    这里同样使用的是字典,所以,成功性还是降低了

    同样使用burpsuite,使用payloadand exists (select user_name from admin)进行爆破

    通过爆破发现得到3列:id,username,password

    得到columns_name,进行最后一步,爆数据

    我使用的逐字猜解法,虽然慢点,但是稳妥,嘿嘿

    先进行username的数据长度进行猜解,同样使用burpsuite进行猜解



    得到第一列的长度是5,所以使用payload:and (select top 1 asc(mid(username,1,1)) from Manage_User)=97开始爆数据

    关于mid(column_name,strat,step):数据截取函数,我标注参数含义,应该能理解,以这个payload来说,就是对username列的第1(top 1)条数据的第1位(start)进行截取,截取1位(step),因为我们已经知道第一行得到的数据长度为5,所以start取1-5即可.

    PS:因为这里恰巧是admin,所以直接使用97-122就可以爆出来,但是因为数据是区分大小写的,如果得到的数据不是5位,则可能包含其他内容,所以可以使用32-126进行猜解

    ASCII解码,得到用户名admin

    同样的方法进行password的数据猜解,先猜解长度,payload:and (select top 1 len(password) from Manage_User)=5

    猜解数据,payload:and (select top 1 asc(mid(password,1,1)) from Manage_User)=65

    进行ASCII解码

    发现可能是md5加密,进行md5解密,得到password:

    尝试进行后台登陆


    结束

    这个其实使用sqlmap完全可以实现一把梭,但是还是尝试手注吧,多练习一下,嘿嘿.其实还有另外一种方法,就是联合查询,速度会快很多,但是兼容性不是很好,比如这次这套cms,就不能进行联合查询,只能用这种方法进行注入.

  • 相关阅读:
    Windows搭建SkyWalking8.3环境进行JAVA应用性能监控及入门示例(使用Mysql持久化)
    使用JMeter进行压力测试
    IDEA2020.1使用LeetCode插件运行并调试本地样例
    centos7使用Minikube“快速搭建“出Kubernetes本地实验环境(踩坑集锦及解决方案)
    事务的隔离级别与所带来的问题
    深入理解HashMap第一篇
    LoadRunner 与浏览器兼容性
    互联网产品接入支付功能如何测试?
    基于AMF协议的Flex应用程序的性能测试
    centos+mono+nginx+jexus 搭建linux下c#运行环境测试
  • 原文地址:https://www.cnblogs.com/quail2333/p/12820369.html
Copyright © 2020-2023  润新知