记事本

Tropical Fruits

http://www.wechall.net/challenge/warchall/tropical/7/index.php 这道题overflow很明显,关键是怎样绕过ASLR。 到现在做了这些题目,总结下来要找漏洞的话,最好是能找到不自然的地方。这道题的不自然之处在具体溢出那里,用的是memcpy加strlen,而一般来说复制字符串直接strcpy就够了。所以这里是关键,两种方法相比,...

Tracks

http://www.wechall.net/challenge/tracks/index.php 这道题我稀里糊涂的做出来了,还是没搞明白是怎么回事儿…… 具体的,第二次投票会说已经投过。然后删除vote cookie,还是不行,再改了Etag就好了……貌似是和HTTP缓存有关?

Blinded by the light

http://www.wechall.net/challenge/blind_light/index.php 这道题是盲注,32位的HEX,正好用了128次query 下面是python代码 #!/usr/bin/env python2 import urllib import urllib2 def makePayload(statement): return "' or ...

Tryouts

http://www.wechall.net/challenge/warchall/tryouts/index.php 用IDA反汇编,基本上了解了题意。最初的想法比较直接:从随机数下手。但根据后来在网上搜到的情况,/dev/urandom虽然不是那么随机,但熵基本上还是足够的 仔细阅读反汇编得到的C代码,发现了以下不自然的地方: snprintf((char *)&v16, 0...

Time to Reset

http://www.wechall.net/challenge/time_to_reset/index.php 最初的想法还是和注入有关,试了几次发现邮件地址不能包含特殊字符…… 再从头开始看代码,发现了不自然的地方: 提交email的表格里有CSRF的token,感觉似乎在见过的题目里并不常见;其实这也还说得过去,但是token的生成方式太可疑了,用的是和reset token同样的函...

Live LFI&RFI

http://www.wechall.net/challenge/warchall/live_rfi/index.php http://www.wechall.net/challenge/warchall/live_lfi/index.php 这两题类似,都是文件包含,参数lang可以传文件名 LFI那里,直接访问solution.php,有两行:teh falg si naer, the...

Table Names II

http://www.wechall.net/challenge/nurfed/more_table_names/index.php 这道题里有黑名单过滤,在网上搜到了解答…… information_schema.processlist里有db,还有info是当前的query

Screwed Signup

http://www.wechall.net/challenge/screwed_signup/index.php 这道题比较有意思 经过一番尝试,发现了代码中不一致的地方:SQL table里username最多24个字符,但是preg_match检查时可以最多到64个。于是这里可能造成截断…… 另一个不协调的地方是signupGetUser。可以看到,在另一个函数里检查了密码,但取用...

MD5.SALT

http://www.wechall.net/challenge/MD5.SALT/index.php 首先注册了一个密码为空的用户。尝试发现似乎是执行两次SQL query,首先是取用户名,再对得到的行检查密码。 因为用了salt,我们先取出。因为注册的密码是空,所以计算得到的hash就是md5(salt): username=' union select password,passwo...

Crappyshare

http://www.wechall.net/challenge/crappyshare/index.php 检查代码,发现如果是通过url,会将文件内容也输出来。为了读取本地文件,我们用file://协议 file://solution.php