做网站公司上什么平台,dw怎么做网站,wordpress修改链接插件,企业网站制作比较好的[极客大挑战 2019]EasySQL 1payload#xff1a;1 or 11#是闭合前面的查询语句#xff0c;or 11恒成立#xff0c;可以使用or句子绕过判断#xff0c;#用于注释#xff0c;注释后面的内容不再执行#xff0c;所以该sql命令会返回表内所有内容#xff0c;其实就是实现一个…[极客大挑战 2019]EasySQL 1payload1 or 11#是闭合前面的查询语句or 11恒成立可以使用or句子绕过判断#用于注释注释后面的内容不再执行所以该sql命令会返回表内所有内容其实就是实现一个闭合查询绕过判断返回内容[HCTF 2018]WarmUp F12查看源代码发现注释中有一个source.php文件名称访问这个文件看到了源码,同时源码中还提及了一个hint.php的文件访问hint.php得到了flag所在的文件名源码中有这样一段内容如果有file值的传入且file为字符串而且通过了checkFile的验证则将file文件包含我们可以通过这个文件包含回显ffffllllaaaagggg的内容。注include包含并执行文件。被包含文件先按参数给出的路径寻找如果没有给出目录(只有文件名)时则按照 include_path 指定的目录寻找。如果在 include_path 下没找到该文件则 include 最后才在调用脚本文件所在的目录和当前工作目录下寻找。如果最后仍未找到文件则include 结构会发出一条警告这一点和 require 不同require会发出一个致命错误。那么可以构造payload读取到文件得到flag?filesource.php?../../../../../../../../../../../../ffffllllaaaagggg[极客大挑战 2019]Havefun查看源代码注释中包含一段源码get传参变量cat当catdog时回显Sys{cat_cat_cat}那么payload为?catdog //成功回显payload[ACTF2020 新生赛]Include点击tips发现url中fileflag.php,但是并没有回显flag这里我们可以使用这样的payload格式去构造php://filter/readconvert.base64-encode/resourcexxx.phpphp://filter 是php中独有的一个协议可以作为一个中间流来处理其他流可以进行任意文件的读取。resource要过滤的数据流 指定了你要筛选过滤的数据流。 read读链的筛选列表可以设定一个或多个过滤器名称以管道符|分隔。 write写链的筛选列表 可以设定一个或多个过滤器名称以管道符|分隔。 两个链的筛选列表 任何没有以 read 或write作前缀 的筛选器列表会视情况应用于读或写链。php://filter与包含函数结合时php://filter流会被当作php文件执行。所以我们一般对其进行编码阻止其不执行从而读取文件内容。readconvert.base64-encode用base64编码输出不然会直接当做php代码执行看不到源代码内容。payload/?filephp://filter/readconvert.base64-encode/resourceflag.php读取到了一段base64编码的字符串将该字符串进行转码后得到flag[ACTF2020 新生赛]Exec打开后是一个ping的功能我们尝试用|进行命令拼接发现ls命令可以直接执行并且读取到根目录下的文件信息在根目录下有一个flag文件命令|ls ../../../../../../../../../../../../../使用命令直接读取flag文件内容获得flag|cat ../../../../../../../../../../../../../flag[强网杯 2019]随便注sql注入了先来判断一下字段数1 order by 1 # 和 1 order by 2 # 可以正常回显1 order by 3 # 的时候报错说明字段数为2尝试union联合注入1 union select 1,2#发现提示select等命令被过滤掉了。。。。使用一种新知识堆叠注入使用; 号注入多条SQL语句并执行先爆库试一下0; show databases; #可以使用尝试回显出当前数据库中的表0; show tables; #查到两个表分别是1919810931114514和words查看表中字段名称1; show columns from words; #1; show columns from 1919810931114514; #注意当表名为数字时要使用反引号将表名括起。words中没什么有用的字段名在1919810931114514中发现flag字段补充知识show databases//列出服务器可访问的数据库show tables//显示该数据库内相关表的名称show columns from tablename//显示表tablename的字段、字段类型、键值信息、是否可以用null、默认值及其他信息。到了读取flag内容的时候犯了大难查询其他师傅的wp有三种方法适用这里我只写两种第三种看不明白方法一1通过 rename 先把 words 表改名为word1。2把 1919810931114514 表的名字改为 words 。3 给新 words 表添加新的列名 id 。4将 flag 改名为 data 。1; rename table words to word1; rename table 1919810931114514 to words;alter table words add id int unsigned not Null auto_increment primary key; alter table words change flag data varchar(100);提交查询提交之后再提交1查询时回显flag字段中的内容。方法二由于select被过滤了所以将select * from 1919810931114514 进行十六进制编码再构造payload。select * from 1919810931114514转换得到0x73656c656374202a2066726f6d20603139313938313039333131313435313460payload;SeTa0x73656c656374202a2066726f6d20603139313938313039333131313435313460;prepare execsql from a;execute execsql;#知识点prepare…from…是预处理语句会进行编码转换。execute用来执行由SQLPrepare创建的SQL语句。SELECT可以在一条语句里对多个变量同时赋值,而SET只能一次对一个变量赋值。[SUCTF 2019]EasySQLsql注入和上一题好像堆叠注入爆一下库名1;show databases;同样方法爆一下表名1;show tables;有个Flag表看看Flag表中字段回显nonono判断可能过滤了flag接下来回顾一下最开始我们输入的非0数字和0与字母所回显的内容非0数字回显1,0和字母不会回显任何内容这道题目需要我们去对后端语句进行猜解1、输入非零数字得到的回显1和输入其余字符得不到回显来判断出内部的查询语句可能存在有||2、也就是select 输入的数据||内置的一个列名 from 表名即为后台语句为select $post[query]||flag from Flag当我们输入非零数字时才会会显出1而0和其他全都无回显猜测后端语句中有||操作符只有我们输入非零数字才会满足||的逻辑为True从而进行回显的条件。也就是满足:select 输入的内容 || 一个列名 from 表名。select 输入数据 || flag from Flag这里需要借用到设置 sql_modePIPES_AS_CONCAT来转换操作符的作用。sql_mode设置 利用PIPES_AS_CONCAT令||起到连接符的作用。构建payload1;set sql_modePIPES_AS_CONCAT;select 1注这里的逻辑是先把||转换为连接操作符注意分号隔断了前面的命令所以要再次添加select来进行查询这里把1换成其他非零数字也一样会回显flag还有一个非预期解 *,1 可以直接得到flag后端语句是select 输入内容 || flag from Flag输入*1就相当于构造了select *1 || flag from Flag这条语句执行起来相当于select *, 1 from Flag因为1||flag是个短路算法直接输出1了select *和select 所有列的意义相同那么我们构造的select *1 || flag from Flag 就等同于 select *,1 from Flag [GXYCTF2019]Ping Ping Ping看起来因该是命令执行了给出一个/?ip的提示应该时get传参变量名是ip了尝试传个数字进去看看效果看来是执行了ping命令使用|组合命令进去执行看看/?ip1|ls成功读取到当前路径下有flag.php的文件,读取一下文件内容试试/?ip1|cat%20flag.php嗯。。。过滤了空格使用 $IFS$数字 来绕过空格过滤试试/?ipcat$IFS$9flag.php嗯。。。是成功绕过了空格过滤发现还过滤了flag这里有两种思路方法一使用base64编码绕过把 cat$IFS$9flag.php 转换为base64编码payload/?ip1;echo$IFS$9Y2F0JElGUyQ5ZmxhZy5waHA|base64$IFS$9-d|sh在返回的响应包或源代码注释中可以看到flag方法二变量拼接我们想要执行cat$IFS$9flag.php 但是flag被过滤了我们可以将flag进行拆分payload/?ip1;afl;bag;cat$IFS$9$a$b.php过滤依旧更换一下拼接方式成功回显flagpayload/?ip1;aag;cat$IFS$9fl$a.php