
数据库
__N4c1__
rr
展开
-
mysql导出数据 select load_file("路径“)出现null
mysql导出数据 select load_file("路径“)出现null但是该文件确实是有东西的。我用的是phpstudy。解决方法`:打开一个my.ini的文件然后是在mysqld下的一行添加secure_file_priv=然后就重启一下mysql再重新进入,重新输入,立刻ok!小tips在输入文件绝对路径的时候,要懂得用\用/来表示的话不是不行,而是可能被当作转...原创 2019-04-11 13:04:19 · 5712 阅读 · 2 评论 -
SQL注入:floor()报错注入
基础知识:floor(): 去除小数部分rand(): 产生随机数rand(x): 每个x对应一个固定的值,但是如果连续执行多次值会变化,不过也是可预测的floor报错payload:and select 1 from (select count(*),concat(database(),floor(rand(0)*2))x from information_schema.tables ...转载 2019-05-09 19:43:01 · 6477 阅读 · 7 评论 -
ctf从入门到放弃学习笔记SQL注入基于union的信息获取 190509
union 联合查询:可以通过联合查询来查询指定的数据用法举例: select username,password from user where id=1 unionselect 字段1,字段2 from 表名 联合查询的字段数需要和主查询一致!‘如何确定字段数??-》order by了解一下吧然后,用union查询又有什么用呢?用union的目的是为了获得更多的信息...原创 2019-05-09 22:12:28 · 787 阅读 · 0 评论 -
ctf从入门到放弃学习笔记SQL 基于函数报错的信息获取190509
常用的报错函数updatexml()、extractvalue()、floor() 基于函数报错的信息获取(select/insert/update/delete)基于报错的信息获取这里要来解释一下:0x7e有什么用,因为不加上的话,报错的信息就要会有一部分被覆盖,看不完整了。0x7e 对应的是~,可以看成是分隔符,也可以是其他十六进制也是ok的。extra函...原创 2019-05-09 22:20:47 · 203 阅读 · 0 评论 -
ctf从入门到放弃:SQL漏洞的常见防范190510
SQL Inject注入漏洞的防范: 代码层面对输入进行严格的转义和过滤使用预处理和参数化(Parameterized ) 网路层面通过WAF设备启用防SQL Inject注入策略(或类似防护系统)云端防护(360网站卫士,阿里云盾等)代码层面:PHP防范转义+过滤但其实效果并不是太好。因为数据库版本会更新的,已更新后可能会产生新的函数,新的语法,那么就意味着...原创 2019-05-11 00:03:38 · 297 阅读 · 0 评论 -
ctfx从入门到放弃:SQL盲注190510
Sql-Inject漏洞-盲注在有些情况下,后台使用了错误消息屏蔽方法(比如@)屏蔽了报错 此时无法在根据报错信息来进行注入的判断。这种情况下的注入,称为“盲注” 根据表现形式的不同,盲注又分为based boolean和based time两种类型。上面的知识要引申出来的一个逻辑是:既然在盲注情况下,从页面上只能判断1,0的情况,那么我们可以对databae()的结果 截取一个字符...原创 2019-05-11 00:10:19 · 469 阅读 · 0 评论 -
宽字节注入入门详解
原理:GBK 占用两字节ASCII占用一字节PHP中编码为GBK,函数执行添加的是ASCII编码(添加的符号为“\”),MYSQL默认字符集是GBK等宽字节字符集。大家都知道%df’ 被PHP转义(开启GPC、用addslashes函数,或者icov等),单引号被加上反斜杠\,变成了 %df\’,其中\的十六进制是 %5C ,那么现在 %df\’ =%df%5c%27,如果程序的默认...原创 2019-05-11 13:14:54 · 4526 阅读 · 0 评论