insert 注入
注册页面,用户处输入 1'
发现报错信息
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '123'),'123','123','123','123')' at line 1
说明此处存在sql注入点
经测试此处不能使用联合查询注入,应该后端是insert操作,可改为报错注入的方式,来爆出数据库的名称(当然可以使用sqlmap,这里是为了练习其原理)
虽然手工注入比工具注入慢,但是有助于我们理解原理
传入
1' or updatexml(1, concat(0x7e, database()), 0) or '
原理
原理:
updatexml (XML_document, XPath_string, new_value);
第一个参数:XML_document是String格式,为XML文档对象的名称,文中为Doc
第二个参数:XPath_string (Xpath格式的字符串) ,如果不了解Xpath语法,可以在网上查找教程。
第三个参数:new_value,String格式,替换查找到的符合条件的数据
在姓名输入框中传入后,其他随便输入,点击确定,报错爆出数据库名称
XPATH syntax error: '~pikachu'