SQLI-LABS LESS 1-22

平台搭建 https://github.com/Audi-1/sqli-labs 我继续用了phpstudy,因为发现它版本要求是PHP5.x的,XAMPP很明显不行,因为它只有最新PHP最新的版本,无法切换。 当作是一个目录:http://127.0.0.1:801/sqli-labs/就完事,点击Setup/reset Database for labs,数据库表自动创建。 参考大佬的教程玩:https://www.cnblogs.com/peterpan0707007/p/7620048.html Less-1 Less-1很难受,太菜了。之前玩DVWA的时候,源代码的sql语句后面是没有LIMIT 0,1的,还有就是输入url,#必须是url编码,不然就会报错,一直卡在那里。太菜了鸭…… 基础知识: user():当前数据库用户 database():当前数据库名 version():当前使用的数据库版本 @@datadir:数据库存储数据路径 concat():联合数据,用于联合两条数据结果。如 concat(username,0x3a,password) group_concat():和 concat() 类似,如 group_concat(DISTINCT+user,0x3a,password),用于把多条数据一次注入出来 concat_ws():用法类似 hex() 和 unhex():用于 hex 编码解码 load_file():以文本方式读取文件,在 Windows 中,路径设置为 \\ select xxoo into outfile ‘路径’:权限较高时可直接写文件 开始测试. 1′ 报错 1’ order by 1%23 查询成功,但是之后不管order by 2还是order by 3都不会变,因为LIMIT 0,1只查出一行的结果,排序没用。只有最前面的1变了才会变。当 Read more…

PHP反序列化学习

暑假想学一下PHP反序列化,顺便出一道题, (POP链的构造的题),发现之前writeup没看懂,太菜了…… 魔术手法 构造关键是魔术手法的触发条件 魔术手法 __wakeup 进行unserialize操作时,该函数会提前调用,感觉像激活对象的意思 <?php class Test1 { public function __wakeup(){ echo ‘use __wakeup’; } } $a = new Test1(); ; unserialize(serialize($a)); //use __wakup __sleep 进行serialize操作时,该函数会提前调用,和wakeup相反,我理解为将对象沉睡的意思 <?php class Test2 { public $key1; public function __sleep(){ echo ‘123’; return array(‘key1’); } } $b = new Test2(); $b->key1=”123″; serialize($b); Read more…