Realistic missions 2 Chicago American Nazi Party
这是hack this site realistic mission 里面的第二题
第一次了解到了关于sql注入问题;
题目的意思就是进入管理员登陆界面;
先讲一下自己的思路,刚刚开始想通过一般项目结构找登陆界面,刚刚开始输入https://www.hackthissite.org/missions/realistic/2/index.php;页面没有变化,所以满足一般的项目结构,然后开始尝试https://www.hackthissite.org/missions/realistic/2/login.php,结果一直404,然后看源码,最后一行发现有一个链接,在index.php页面被css成与背景色一样的了,;;
点击进入https://www.hackthissite.org/missions/realistic/2/update.php;登陆页面,然后就是基本的sql注入;
下面的东西亲测有效,过段时间学习sql的执行判断时再深入下;
如果这个用户名密码验证的SQL语句为strSql = "SELECT *FROM tbl WHERE username='" + username.text + "' AND password='" + password.text + "'";
那么假设在用户名文本框里输入 ' or 1=1-- ,那么SQL语句变为SELECT * FROM tbl WHERE username='' or 1=1-- AND password=''
尽管username为空串,但是和1=1这个恒真的等式或运算以后,SELECT后的结果就是表里所有的数据,而1=1后面的--把后面的AND password=''注释掉了,如果程序里面再判断只要结果不为空即登录成功的话...嘿嘿~
看了这位大牛的题解才会的 http://www.voidcn.com/blog/dolphinysj/article/p-3658592.html