PHP函数漏洞–持续更新
一、strcmp() 语法: strcmp(string1,string2) 参数描述string1必需。规定要比较的第一个字符串。string2必需。规定要比较的第二个字符串。 技术细节: 返回值:本函数返回:0 - 如果两个字符串相等<0 - 如果 string1 小于 string2>0 - 如果&n…
文件上传一般思路
一、前端JS校验 直接浏览器设置->禁用Javascript 传🐎 结束。 二、服务端校验 服务端校验: content-type字段校验(image/png)文件内容头校验(GIF89a)后缀名黑名单校验后缀名白名单校验自定义正则校验文件内容检测 1、content-type字段校验 服务端校验大致源码: <?php if ($_FI…
CTF-WEB中常见的源码泄露
一、/.git泄露 Githack 注意:要用python2运行。 二、www.zip 很多web题在根目录下:/www.zip 会下载源码,找不到头绪的时候可以试试。 三、dirsearch 可以用扫描器,www.zip,.git没有的话可以试试这个扫。 dirsearch 用来扫目录的
HTTP请求头字段
常用HTTP请求头: http请求头字段.xlsx 表格太宽了放不下,等解决了再更新。 常用的关于 ip 请求字段: X-Forwarded-For: X-Real-IP:
[极客大挑战 2019]HardSQL
这不还是老熟人,这些话之前不是说过了? 然而之后的五分钟里我把毕生所学的都扔进去了,得到这个。 看writeup。 新知识:MySQL updatexml()、extractvalue() 报错型SQL注入 extractvalue、updatexml报错原理: MySQL 5.1.5版本中添加了对XML文档进行查询和修改的两个函数:extract…
MySQL占用内存过多的问题
MySQL8.0默认的table_open_cache为4000,服务器内存小的话,就会出现明明没什么程序运行但是内存占用90%的情况。 mysql> show global status like 'open%tables%'; 这里可看到Opened_tables才424,看一下table_open_cache多大。 mysql> show v…
[极客大挑战 2019]EasySQL,LoveSQL,BabySQL
一、EasySQL: 很酷,看看有没有什么注入点。 账号:admin' or 1=1# 密码:1 起飞,看第二个。 二、LoveSQL 熟人嗷,再常规测试。 账号:admin' or 1=1# 密码:1 得到这一串字符,哈希加密的,跑了一下没跑出来。 看看order by。 账号:admin' order by 3# 密码:1 从2试到4,4报错,…
PHP中md5绕过
一、md5($password,true)的SQL注入问题 这里要提到一下MySQL中的数值比较问题。 1、当数字和字符串比较时,若字符串的数字部分(需要从头开始)和数字是相同的,那么则返回的是true。 select if(1="1abcd","等于","不等于") as test; if(exp1,stat1,stat2)类似于高级语言中三元运…
[SUCTF 2019]Easy SQL
 日常and or  一圈测试之后发现,and or &&  from都过滤了,很奇怪 || 这个没有过滤。 接着尝试,试试堆叠注入。  可以,接着看表 发现flag 尝试desc 经测试,Flag被过滤了。 想过之前碰到一个预处理的,尝试之后发现限制了输入长度。 concat char 都不…
CTF[2019 强网杯]随便注
照例and or测试一下。 发现表里所有数据,但没有flag。 尝试一下堆叠注入。 可以用堆叠注入,接着看表。 发现两个表,看看words。 1';desc words;# 发现这个查询可能是在words这个表进行的。 但是没有flag。 再看看1919810931114514这个。 注意:数字表名要用反引号。`1919810931114514` …