D 5后台登陆

<!DOCTYPE html>

D.5后台登陆

D.5后台登陆

后台登陆


知识点一:

mysqli_query(connection,query,resultmode);

connection必需。规定要使用的 MySQL 连接。

query必需,规定查询字符串。

resultmode可选

返回值: 针对成功的 SELECT、SHOW、DESCRIBE 或 EXPLAIN 查询,将返回一个 mysqli_result 对象。针对其他成功的查询,将返回 TRUE。如果失败,则返回 FALSE。

用法示例:

mysqli_query($con,"SELECT * FROM websites");

mysqli_query($con,"INSERT INTO websites (name, url, alexa, country)

mysqli_query() 函数执行某个针对数据库的查询。

在这里,mysqli_num_rows($result)的返回值要大于0,才能得出flag。该函数会返回result行的数量


知识点二:MD5函数

md5(string,raw)

string必需。规定要计算的字符串。

raw可选。规定十六进制或二进制输出格式:

TRUE - 原始 16 字符二进制格式

FALSE - 默认。32 字符十六进制数

$result=mysqli_query($link,$sql);

这句话的意思是:查询link数据库,用sql语句。

$sql = "SELECT * FROM admin WHERE username = 'admin' and password = '".md5($password,true)."'";

而sql语句的意思是:查询表admin中的列admin,并且password等于将$password进行二进制格式的MD5加密。

参考:总之这个sql语句,后面加or'1'就可以通过验证,因为a or b,只要满足一个条件即可。

           所以造成了sql注入

总结:

实验吧里面的web题目偏向源代码审计。

(⊙﹏⊙)跟我的方向有点不符,以后就不在这做题了。。20180220