前言
文章中涉及的敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打码处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,一旦造成后果请自行承担!
渗透思路
在对系统进行测试时,通常会查看前端的 js 文件看是否存在敏感信息或者敏感接口,以便进行数据包构造等手法。在一次测试中,偶然碰到 js 文件中写账号密码,我之前以为这种都是不可能存在的漏洞,拿到账号密码后,登录后台发现 sql 注入和未授权漏洞分享思路。
渗透过程
拿到一个站点后登陆页面,首先肯定是弱口令,admin/123456,或者其他的弱口令等。试过之后不行,但是发现存在用户名枚举。输如admin,提示密码错误。
然后通过在前端js文件中搜索admin,却发现password,很吃惊,真的有密码写在前端的。这里推荐大家一个插件findsomething插件,在js文件中发现账号密码或者接口信息都很方便。
然后就通过账号密码登录。
我给大家准备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小伙伴可以扫描下方二维码或链接免费领取~
1 sql 注入
1、判断注入点
在里面找到一个接口参数带 asc ,看到这个 asc 一定想到的是 sql 排序注入,在现在的大部分的 sql 查询中,都被预编译防御了,但是也存在预编译防御不到的地方,比如 limit、order by 排序这样的地方,官方给出的是如果在这些地方使用预编译,会造成慢查询等问题。
首先单引号,直接报异常,可能存在注入。
进一步判断是否存在注入,输入 exp(1)–+和 exp(710)–+,看 回显是否一至,如不一致直接判断存在 sql 注入。
解释:
exp()即为以e为底的对数函数,即求解e的710次方,当传递一个大于709的值时,函数exp()就会引起一个溢出错误,而 MySQL 能记录的 Double 数值范围有限,一旦结果超过范围,则该函数报错。这个范围的极限是 709,当传递一个大于 709 的值时,函数 exp() 就会引起一个溢出错误
从返回结果来看,大家能看到是什么注入吗?延时,因为返回结果为真或假,通过时间查看注入的数据真假。
所以看结果肯定存在 sql 注入,但是出现一个问题,这个是什么数据库呢?因为不同的数据库,相应的注入语句也不同。
2、上神器-sqlmap
我尝试了 mysql 数据库、oracle 数据库的延时语句都不行,全都显示系统异常,手工注了好久,直接上神器 sqlmap 跑。
可以看到数据库为 PostgreSQL,在 timeorder 参数中存在注入,这里使用正常语句跑,即可出数据信息,就不显示了,各位师傅们。
知识点
一、 那该如何判断 sql 注入的数据库呢?
1、通过网站语言判断
在网站和数据库之间的搭配是:asp+access 或 SQLServer、php+MySQL、jsp+oracle。但是不准确,只能给我们一个大概的方向。
2、报错信息
很多数据库在遇到错误时会返回特定的错误消息,其中包含数据库类型的线索。例如:
● MySQL:错误消息中可能包含"mysql
"或"SQL syntax
"等词汇。
● PostgreSQL:可能包含"PGSQL
"或"PostgreSQL
"。
● SQL Server:通常返回错误代码,比如"OLE DB
"或"SQL Server
"
3、特定的函数和特征
通过向注入点发送特定的payload,可以判断数据库类型。例如,使用不同数据库的特定函数:
● MySQL:尝试UNION SELECT @<span class="label label-primary">@version
;#CTL{n} ● PostgreSQL:尝试SELECT version()
;
● SQL Server:尝试SELECT @<span class="label label-primary">@version
;#CTL{n} ● Oracle:尝试SELECT banner FROM v$version
我给大家准备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小伙伴可以扫描下方二维码或链接免费领取~
二、不能预编译点
预编译是将sql语句参数化,刚刚的例子中 where语句中的内容是被参数化的。这就是说,预编译仅仅只能防御住可参数化位置的sql注入
like关键字:模糊查询默认不会预编译,like预编译会造成慢查询、DOS。
不能加引号的关键字:order by
、limit
、列名、表名
in关键字 等
0x2 未授权
在关于进后台的测未授权接口,一定要推荐 burpsuite 的一款插件 瞎越 很好用。
瞎越下载地址:https://github.com/smxiazi/xia_Yue
使用教程:在未开启前,将鉴权字段填入其中,然后开启插件,直接在前端页面的各个功能点都点一遍。看未授权的是否有对号。有就代表存在未授权漏洞
然后找一个没有认证缓存的浏览器访问。出现数据即为未授权。
结束
主要是利用一些工具帮助我们在一些测试环境中更加快速的找到漏洞存在和漏洞复现。
网络安全学习资源分享:
给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,请看下方扫描即可前往获取
👉1.成长路线图&学习规划👈
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
👉2.网安入门到进阶视频教程👈
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。(全套教程扫描领取哈)
👉3.SRC&黑客文档👈
大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录
SRC技术文籍:
黑客资料由于是敏感资源,这里不能直接展示哦! (全套教程扫描领取哈)
👉4.护网行动资料👈
其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!
👉5.黑客必读书单👈
👉6.网络安全岗面试题合集👈
当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~