小白日记36:kali渗透测试之Web渗透-手动漏洞挖掘(二)-突破身份认证,操作系统任意命令执行漏洞

手动漏洞挖掘

######################################################################################

手动漏洞挖掘原则【会比自动扫描器发现的漏洞要多,要全面】

1.每一个变量都进行尝试

2.所有头【如:cookie中的变量】

3.逐个变量删除

######################################################################################

身份认证

1、常用弱口令/基于字典的密码爆破

2、锁定机制

手工猜测,若无锁定机制,则进行爆破

3、信息收集【分站上信息收集,猜测账号密码,如:用户光荣榜等。】

手机号:对于隐藏部分的手机号,猜测其确切账号(手动输入,已知手机号,观察密码错误提示信息【如:用户名有误】,则爆破用户名)

密码错误提示信息

(burpsuite:观察返回信息内容【观察errorcode】)

4、密码嗅探【在同一个网络下,可通过抓包分析,获取用户名密码】

burpsuite演示

0、关闭截断代理,在dvwa登录页面中使用错误账号登录,分析数据包

小白日记36:kali渗透测试之Web渗透-手动漏洞挖掘(二)-突破身份认证,操作系统任意命令执行漏洞

a.账号密码都是错的

小白日记36:kali渗透测试之Web渗透-手动漏洞挖掘(二)-突破身份认证,操作系统任意命令执行漏洞

b.账号正确,密码错误

右键比较sent to compare

小白日记36:kali渗透测试之Web渗透-手动漏洞挖掘(二)-突破身份认证,操作系统任意命令执行漏洞

小白日记36:kali渗透测试之Web渗透-手动漏洞挖掘(二)-突破身份认证,操作系统任意命令执行漏洞

###通过比较,发现是否存在有价值的信息####

若两次返回结果不一样,则基于comparer做Intruder【轰炸机】

小白日记36:kali渗透测试之Web渗透-手动漏洞挖掘(二)-突破身份认证,操作系统任意命令执行漏洞

小白日记36:kali渗透测试之Web渗透-手动漏洞挖掘(二)-突破身份认证,操作系统任意命令执行漏洞

小白日记36:kali渗透测试之Web渗透-手动漏洞挖掘(二)-突破身份认证,操作系统任意命令执行漏洞

小白日记36:kali渗透测试之Web渗透-手动漏洞挖掘(二)-突破身份认证,操作系统任意命令执行漏洞

1、当无法使用账号密码登录时,转向会话sessionID/cookie

a.跨站脚本结合社会工程学,获得cookie【后面再介绍】

b.有些做得不好的web application会将SessionID放在URL中传输,可通过社工获得

c.正常情况下SessionID会放在cookie或body中,可使用嗅探

#嗅探注入【SessionID:一.以文件形式存在电脑;二.存在内存中(最常见)】

小白日记36:kali渗透测试之Web渗透-手动漏洞挖掘(二)-突破身份认证,操作系统任意命令执行漏洞

#将SessionID注入浏览器

小白日记36:kali渗透测试之Web渗透-手动漏洞挖掘(二)-突破身份认证,操作系统任意命令执行漏洞

小白日记36:kali渗透测试之Web渗透-手动漏洞挖掘(二)-突破身份认证,操作系统任意命令执行漏洞

注:留意SessionID存活时间,与是否每次登录都随机生成

#SessionID生成算法

#使用burpsuite中的sequencer对某站点的SessionID生成算法进行考量【若重复几率大或可判断算法】建议使用通用被验证的算法

若使用不安全的私有算法,可以预判下一次登录时生成的SessionID

2、密码找回场景

找回密码链接:(举例)

https://www.example.com/reset?email=user@example.com&key=b4c9a289323b21a01c3e940f150eb9b8c
542587f1abfd8f0e1cc1ffc5e475514

对key值进行观察猜测,如:字节。【128--MD5    160--SHA1    256--SHA256】

###有可能是根据邮箱账号,进行了加密的算法,经修改后,可直接重设密码


当有限登录一个账号密码后,进行手动爬网,自动扫描

#操作系统任意命令执行漏洞

a.过滤,只显示有参数的请求

小白日记36:kali渗透测试之Web渗透-手动漏洞挖掘(二)-突破身份认证,操作系统任意命令执行漏洞

b.使用Repeater测试

逐步删除无用变量,试出可影响页面内容的变量

对符号型输入,先进行编码

##没对输入变量进行过滤

小白日记36:kali渗透测试之Web渗透-手动漏洞挖掘(二)-突破身份认证,操作系统任意命令执行漏洞

命令行模式下使用的命令,可通过源码查看过滤

#medium级别

小白日记36:kali渗透测试之Web渗透-手动漏洞挖掘(二)-突破身份认证,操作系统任意命令执行漏洞

shell命令掌握技能和技巧

“&”:并行执行命令

“|”:管道符

“||”:前面命令执行失败,执行后面的命令

“curl”:命令行模式下,定制URL,发起http请求

#high级别

小白日记36:kali渗透测试之Web渗透-手动漏洞挖掘(二)-突破身份认证,操作系统任意命令执行漏洞

c.利用这种漏洞,可使其执行开放端口等操作

如:;mkfifo /tmp/pipe;sh /tmp/pipe | nc -nlp 4444 > /tmp/pipe

d.反弹shell

shell脚本在哪台机器的应用服务上,就会返回哪台机器的shell

上一篇:C++中,get getline gets 用法


下一篇:javascript函数创建