渗透测试
暴力破解篇
暴力破解和枚举篇
2.1. 弱口令与弱口令检测
1、弱口令
什么是弱口令?
弱口令没有严格和准确的定义,通常认为容易被他人(他们有可能对你很了解)猜测到或被破解工具破解的口令均为弱口令。弱口令指的是仅包含简单数字和字母的口令,例如”123456” ,”abc123”等,因为这样的口令很容易被人破解,从而使用户的计算机面临风险,因此不推荐使用
2、常见服务与弱口令
对于一些常见的服务如:ssh(root/root)、ftp(ftp/ftp)、rdp远程桌面连接(administrator/admin@123),如果目标服务存在弱口令,那么便可以轻易爆破出来。对于这样的服务,我们可以使用超级弱口令工具来检测对方有没有存在弱口令
3、工具介绍
超级弱口令检查工具是一款windows平台的弱口令审计工具,支持批量多线程检查,可快速发现弱密码、弱口令账号、密码支持和用户名结合进行检查,大大提高成功率,支持自定义服务端口和字典。
工具采用c#开发,需要安装.NET Framework4.0,工具目前支持ssh、RDP、smb、mysql、sqlserver、oracle、ftp、MongoDB、memcached、PostgreSQL、telnet、SMTP、SMTP_SSL、POP3、POP3_SSL、IMAP、IMAP_SSL、VNC、Redis等服务的弱口令检查工作。
2.2. http请求与响应
1、 http请求
http请求由三部分组成,分别是:请求行、消息报头、请求正文;http响应也是由三部分组成,分别是:状态行、消息报头、响应正文,它们之间以CRLF即\r\n分割,且报头与正文之间有一个空行。在客户机和服务器之间请求-响应时,两种最常被用到的方法是:GET和POST。一个常规的HTTP请求如下所示:打开游览器进入网站时会发送请求,打开开发者工具F12,选择network可以查看与网站服务器之间发送的所有请求
2、Get请求
GET 后的斜线是请求的一个文件和一个路径;后面的http/1.1是http的一个协议
Host这个字段里面代表是要去请求一个目标的网站,目标的地址
User-Agent代表的是客户端,使用的是什么浏览器去发起请求,代表着我们客户端的一些相关的信息。以图片为例,可以看到我们使用的是谷歌浏览器这样一个版本:windows10的系统,64位的架构
Accept-Encoding这个字段代表的意思就是说可以接受的编码方式
Accept-language这个字段代表的是可以接受的语言
Cookie 代表的是浏览器向服务器发送请求时发送的Cookie,那么cookie一般都是这个用户的登录了凭证
3、Post请求-一般登录会使用post请求
Referer代表从哪一个连接哪一个url过来去请求到这一个连接里面
Content-type是传输的这个请求的数据的一个类别
Get与POST区别
Get:get请求查询的字符串(名称/值对)是在请求的URL中发送;get请求可以被缓存
Post:查询字符串(名称/值对)是在POST请求的http消息主体中发送的;post请求不会被缓存
4、 http响应
http响应跟我们的请求相似,HTTP响应也是由三部分组成,分别是:状态行、响应头、响应的正文。
HTTP/1.1 200 这个代表的是一个响应状态码,响应的状态码由三位数字组成,表示请求是否被理解或者被满足,200表示服务器能够正常响应请求,其他状态码可以查找资料