zoukankan      html  css  js  c++  java
  • 记一次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,就不能进行联合查询,只能用这种方法进行注入.

  • 相关阅读:
    Accoridion折叠面板
    mui列表系列
    按照中文首字母排序查询表数据
    五分位算法
    springmvc添加拦截器
    springmvc添加定时任务
    通过后台解决跨域调用接口问题
    eclipse搭建ssm框架
    Java 将图片转成base64,传到前台展示
    用mysql存储过程代替递归查询
  • 原文地址:https://www.cnblogs.com/quail2333/p/12820369.html
Copyright © 2011-2022 走看看