Рекомендуется: подробное объяснение объекта файлового объекта ASP Существует ли указанный диск? Этот пример демонстрирует, как использовать метод DriveExists, чтобы определить, существует ли диск. Код выглядит следующим образом: HTML Body % setfs = server.createObject (scripting.filesystemobject) ifffs.driveexists (c :) = response.
После того, как база данных подвешивается, многие люди не знают, как с ней справиться, или обработка неполна, в результате чего трояны все еще появляются после открытия веб -страницы. Эта статья представляет собой лучшее решение для вашей ссылки.Шаг 1 : Сделайте резервные копии для существующих баз данных.
Шаг 2 : Выполните следующий файл ASP, чтобы удалить JS Trojans в базе данных. (Примечание: conn.asp опущен)
| «Поместите здесь контент JS Trojan: Пожалуйста, не забудьте изменить его на Trojan Content JS в вашей собственной базе данных. <!-#includefile = conn.asp-> <% Server.ScriptTimeout = 180 Setrstschema = conn.openschema (20) k = 1 Dountilrstschema.eof 'Transfer Database Tables Ifrstschema (table_type) = табличка response.writek &. <fontcolor = red> <b> & rstschema (table_name) & </b> </font>: 'Показать имя таблицы Setrs = server.createObject (adodb.recordset) sql = select*from [& rstschema (table_name) &] Rs.opensql, Conn, 1,3 Fori = 0tors.fields.count-1 'Путешествие по полям в таблице Ifint (rs (i) .type) = 129orint (rs (i) .type) = 130orint (rs (i) .type) = 200orint (rs (i) .type) = 201orint (rs (i) .type) = 202orint (rs (i). conn.execute (update [& rstschema (table_name) &] set & rs (i) .name & = reply (cast (& rs (i) .name & asvarchar (8000)), «Поместите содержание JS Trojan здесь», ''))) response.writers (i) .name && rs (i) .type & 'Показать имя выполненного поля. Эндиф Следующий response.write <br> Эндиф rstschema.movenext k = k+1 Петля response.write выполнение успешно %> |
Если есть много таблиц базы данных, вышеуказанная структура базы данных обхода будет остановлена IIS до его выполнения. В настоящее время вы можете
| Если rstschema (table_type) = таблица, тогда |
Диапазон значений k добавлен соответствующим образом, например:
| Ifrstschema (table_type) = tablek> 10andk <20then |
Таким образом, только 9 таблиц эксплуатируются одновременно.
Шаг 3 :
Согласно характеристикам инъекции базы данных JS (которая будет включать такие символы, как <script, </script> и http: //),
Поместите следующий код в conn.asp:
| FunctionCheAck_sqljs () 'предотвращает инъекцию Batabase Oversion Link JS: True - это обнаружить внешнюю ссылку JS -инъекцию. Dimf_post, f_get Check_sqljs = false Ifrequest.form <> then 'обнаружение при подаче формы Foreachf_postinrequest.form If (instr (lcase (request.form (f_post)), <script) <> 0orinstr (lcase (request.form (f_post)), </script>) <> 0) andinstr (lcase (request.form (f_post)), http: //) <> 0then Check_sqljs = true Выход Эндиф Следующий Эндиф Ifrequest.queryString <> Then Degenction при подаче запроса Querystring Foreachf_getinrequest.queryString If (instr (lcase (request.form (f_get)), <script) <> 0orinstr (lcase (request.form (f_get)), </script>) <> 0) andinstr (lcase (request.form (f_get)), http: //) <> 0then Check_sqljs = true Выход Эндиф Следующий Эндиф Конечная функция FunctionCheckDataFrom () 'Проверьте данные, представленные данными: TRUE представлен извне на сайте CheckDataFrom = true server_v1 = cstr (request.servervariables (http_referer)) server_v2 = cstr (request.servervariables (server_name)) ifmid (server_v1,8, len (server_v2)) <> server_v2then CheckDataFrom = false эндиф Конечная функция Ifcheack_sqljsorcheckdatafromthen Response.write <scriptlanguage = javascript> alert («выполнение запрещено, незаконная операция. '); </Script> Response.end () Эндиф |
Поделиться: Учебное пособие по интерпретации подпрограммы вызова ASP Программы ASP могут вызывать подпрограммы через VBScript и другие способы. Вызовите подпрограмму, используя VBScript, образец кода: html head %subvbproc (num1, num2) response.write (num1*num2) endsub % /body body p Вы можете вызвать программу, подобной следующему: /pp result: %callvbproc (3,4) % /pp или, например: /pp результат