记一次挖洞实战(小白摸索一 )【get shell】

使用kali 的dirb进行目录爆破,爆出了 phpinfo页面:

关闭了包含,发现数据库使用mysql

记一次挖洞实战(小白摸索一 )【get shell】_第1张图片

 

 

 

打开admin后台登录页面

burpsuit抓包:

记一次挖洞实战(小白摸索一 )【get shell】_第2张图片

 

抓包 发现post明文传输 密码,弱口令加爆破均失败

直接对name进行sql注入:

构造语句 ('  a  or  1=1--) 发现页面报错,提示很明显,sql语句直接暴露了 :

SELECT * FROM `t_admin` WHERE ( user ='' a or 1=1 --' )

记一次挖洞实战(小白摸索一 )【get shell】_第3张图片

这个语句很骚 ,在from后面加 ()所以用 (' a or 1=1--)会报错

构造sql语句:' ) or (1=1);--  或者 ' ) or (1=1);--  都可以

SELECT * FROM `t_admin` WHERE user= ('') or (1=1);--');

记一次挖洞实战(小白摸索一 )【get shell】_第4张图片

这个语句查找出了所有的用户和密码 但是登陆只需要一个用户,怎么办呢?

在对admin页面爆破时发现了一个问题,就是用户名可枚举,用户名是 admin那么会 提示 密码 错误,换其他用户名会提示 用户不存在,所以锁定了admin是真实存在的用户。

 

记一次挖洞实战(小白摸索一 )【get shell】_第5张图片记一次挖洞实战(小白摸索一 )【get shell】_第6张图片

 

接下来  尝试 构造语句 :

SELECT * FROM `t_admin` WHERE user= ('') or (1=1)and  user='admin';--');

记一次挖洞实战(小白摸索一 )【get shell】_第7张图片

当我构造好注入代码进行注入时发现,我被WAF给搞了~~~~

这是一个让人头疼的问题 ,每次注入3~4次都会被屏蔽掉 ,过半小时才能继续访问。

于是 再百度各种饶过WAF的手段

最后搞了好久也没有注入成功,咨询大佬 后大佬告诉我这不是 注入点 !!!

那怎么办?

尝试子域名爆破

发现 有个子域名是个管理员登录页面,是 留给 甲方 公司管理业务的,尝试目录爆破,发现了一个注册页面!!!!

皇天不负有心人 !扫到register注册 用户页面,该页面 可随意注册用户,注册完登陆后和 admin同等权限!

那就好办了 ,找 上传点 传马!getshell!

最终拿到 普通用户:

记一次挖洞实战(小白摸索一 )【get shell】_第8张图片

提权就算了吧 ~~

 

 

总结:拿到站信息收集很关键,很可能我们在一个地方纠结技术,比如怎么绕过 防火墙 怎么绕过字符过滤 ,殊不知在子站中存在这样的业务逻辑漏洞,很显然 对方没有设置注册页面的访问 权限,解决办法很简单,把 注册页面或者注册模块 放在admin登陆之后的页面里,或者注册页面添加身份验证,管理 员用户登录才能操作,确保注册的第二个大用户是经过了管理员 同意的。

 

 

你可能感兴趣的:(挖洞)