hard

Level 5- Fred CMS

十有八九是注入,不过测试引号和转义符并没发现什么,于是跑了下密码字典,竟然发现网页提示 sql injection detected! ,然后发现原来是密码中存在or关键字

测试了username处发现未拦截关键字,那注入点应该只存在于password,那么应该就是username填admin,password处构造SQL语句条件为真即可

试了很久才发现原来是考宽字节注入,payload如下

username=admin&password=%df'<>1#

后台语句则会是

SELECT * FROM users WHERE username='admin' AND password='?'<>1

password='?' 为假即0,0<>1为真,所以整条语句为真

Level 8- Unsolvable

SQL约束攻击

注册一个账号

admin                                                                                                                                             xxx  (中间多几个空格)

123456789

然后以admin:123456789登录

Level 12- Goldjunge

一开始瞎尝试毫无头绪,后才发现有源码泄露

http://chall.tasteless.eu/level12/lucky.php~

代码为

<?php
$k=$_GET['emit'];
$a=substr(sprintf("%8x%05x\n",floor($k),($k-floor($k))*1000000),0,-3);
$b=substr(uniqid(),0,-2);
if($a==$b){
print "WTF?! YOU REALLY DID IT <3<br /> flag is: t1m1ng4tt4ck";
}
else {
print "VAR a is ".$a."<br />";
print "VAR b is ".$b."<br />";
}
?>

...

没错flag就在源码里,t1m1ng4tt4ck

不过还是要研究一下这题的正常解法

$a=substr(sprintf("%8x%05x\n",floor($k),($k-floor($k))*1000000),0,-3);

$a前8位是floor($k),后5位是($k-floor($k))*1000000),即后5位取决于小数部分,然后被substr,只取前11位

$b=substr(uniqid(),0,-2);

uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID

$b的11位都取决于当前时间

所以就要构造一个比当前时间大一点的payload,然后用burp不断发包,直到刚好撞上

Level 13- Leetmore

待更

Level 14- Lifeless

待更

Level 16- Bodies

待更

Level 17- Unsolvable V2

字符集的问题

注册的时候admin后面加上\xC2

登录以admin即可

参考:Mysql字符编码利用技巧

Level 20- Do you comment?

http://chall.tasteless.eu/level20/index.php?view=flag as Quality from level20_flag join level20`

实验室的小伙伴试出来的,我之前有想过join,但是题目ban了注释符,就一直没想到绕过方法,至于为什么这里反引号能当注释用,目前还是不清楚,正在研究。。。

更:mysql中起别名用as,但as可以省略,而在可以起别名的地方,用上反引号,其后的内容都会作为别名

详见:為什麼`(backtick)能做"註釋符"

Tasteless challenges hard WP的更多相关文章

  1. Tasteless challenges medium WP

    http://chall.tasteless.eu/ 国外的一个靶场,都是单点知识,medium大部分还是比较简单 medium Level 1- Infiltration http://chall. ...

  2. SQLI LABS Challenges Part(54-65) WriteUp

    终于到了最后一部分,这些关跟之前不同的是这里是限制次数的. less-54: 这题比较好玩,10次之内爆出数据.先试试是什么类型: ?id=1' and '1 ==>>正常 ?id=1' ...

  3. XSS Challenges(1-12关)

    XSS Challenges解析: 1. 什么过滤也没有,而且是直接输出.<scrip>alert(document.domain);</script>即可通过 2. 直接输入 ...

  4. XSS Challenges学习笔记 Stage#1~ Stage#19

    开门见山 Stage #1 http://xss-quiz.int21h.jp/?sid=2a75ff06e0147586b7ceb0fe68ee443b86a6e7b9 这一道题发现我们写入的内容直 ...

  5. 逆天通用水印支持Winform,WPF,Web,WP,Win10。支持位置选择(9个位置 ==》[X])

    常用技能:http://www.cnblogs.com/dunitian/p/4822808.html#skill 逆天博客:http://dnt.dkil.net 逆天通用水印扩展篇~新增剪贴板系列 ...

  6. wp已死,metro是罪魁祸首!

    1.这篇文章肯定会有类似这样的评论:“我就是喜欢wp,我就是喜欢metro,我就是软粉“等类似的信仰论者发表的评论. 2.2014年我写过一篇文章,windows phone如何才能在中国翻身? 我现 ...

  7. 关于 WP 开发中.xaml 与.xaml.cs 的关系

    今天我们先来看一下在WP8.1开发中最长见到的几个文件之间的关系.比较论证,在看这个问题之前我们简单看看.NET平台其他两个不同的框架: Windows Forms 先看看Window Forms中的 ...

  8. Android,ios,WP三大手机系统对比

    从前,我以为.一个手机系统只是一个系统的UI风格,没什么不同的.然而,在我混合使用这三个手机系统之后,才明白,一个手机系统远不只一个UI那么简单,而真的是可以称之为一个“生态”. 首先祭出三台经典设备 ...

  9. 搜狗输入法wp风格皮肤

    换了个nexus 发现输入法真的没有wp的好用 没办法,刚好搜狗输入法有定制皮肤的选项,所以自己做了个wp风格的输入法皮肤. 一点微小的工作 http://pan.baidu.com/s/1kVsHd ...

随机推荐

  1. springaop\ cglib\ AspectJ

    元编程 vs 动态代理 vs isa代理 springaop的底层实现有两种,一种是jdk的动态代理,另一种是cglib,springaop没有用到aspectj,只是借鉴了它并添加了aspectj风 ...

  2. Redis实战(一)Redis简介及环境安装(Windows)

    提到Redis,大家肯定都听过,并且应该都在项目中或多或少的使用过,也许你觉得Redis用起来挺简单的呀,但如果有人问你下面的几个问题(比如同事或者面试官),你能回答的上来吗? 什么是Redis? R ...

  3. 面试:Stream#foreach方法摸底三问,你都了解吗

    JAVA8 新增了 Stream API,而在 Stream API 中又为程序员提供了一个遍历集合的 foreach 方法:java.util.stream.Stream#forEach. 那你对这 ...

  4. Linux gzip: stdin: not in gzip format

    在解压tar.gz文件的时候报错 tar -zxvf otp_src_18.3.tar.gz gzip: stdin: not in gzip format tar: Child returned s ...

  5. javaWeb技术第二篇之CSS、事件和案例

    <!--内联式 CSS (层叠样式表) 编辑 层叠样式表(英文全称:Cascading Style Sheets) CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式 ...

  6. Vue中调用另一个组件中自定义事件

    之前在一个场景中,遇到组件需要调用父组件中的方法tableInit(),字组件调用父组件常用的有三种方法,具体参考:https://www.cnblogs.com/jin-zhe/p/9523782. ...

  7. PHP strstr 字符串函数

    定义和用法 strstr - 查找字符串的首次出现 版本支持 PHP4 PHP5 PHP7 支持 支持 支持 V5.3.0 新增可选的 before_needle 参数. V4.3.0 strstr( ...

  8. tableView代理方法执行顺序

    tableView代理方法执行顺序,随着iOS系统版本的不断升级,执行顺序也有所变化 1.iOS7.1中先依次调一遍heightForRow方法再依次调一遍cellForRow方法,在调cellFor ...

  9. 1. Linux-3.14.12内存管理笔记【系统启动阶段的memblock算法(1)】

    memblock算法是linux内核初始化阶段的一个内存分配器(它取代了原来的bootmem算法),实现较为简单.负责page allocator初始化之前的内存管理和分配请求. 分析memblock ...

  10. 【poj2661】Factstone Benchmark(斯特林公式)

    传送门 题意: 给出\(x,x\leq 12\),求最大的\(n\),满足\(n!\leq 2^{2^x}\). 思路: 通过斯特林公式: \[ n!\approx \sqrt{2\pi n}\cdo ...