Когда мы используем ASP для подключения к базе данных для разработки приложений, мы можем столкнуться с ситуацией, когда база данных ASP висела с трояном Будет вам полезен.
В этой статье мы подробно вводим метод программирования подробного решения трояна, повешенного базой данных ASP.
Первый шаг:
Сделайте резервные копии для существующих баз данных.
Шаг 2:
Выполнить следующий файл ASP, так что JS Trojans в базе данных можно удалить:
Примечание: я написал это сам.
«Поместите здесь контент JS Trojan: Пожалуйста, не забудьте изменить его на Trojan Content JS в вашей собственной базе данных.
- <!-#includefile = conn.asp->
- <%
- Server.scripttimeout = 180setrstschema = conn.openschema (20)
- k = 1
- Dountilrstschema.eof 'raversal таблиц баз данных
- Ifrstschema (table_type) = табличка
- response.writek &. <fontcolor = red> <b> & rstschema (table_name) и </b> </font>: 'show name table setrs = server.createObject (adodb.recordset)
- sql = select*from [& rstschema (table_name) &]
- rs.opensql, conn, 1,3fori = 0tors.fields.count-1'transfer Поле ifint (rs (i) .type) = 129
- orint (rs (i) .type) = 130orint (rs (i) .type) = 200orint (rs (i) .type) = 201orint (rs (i) .type) = 202orint (rs (i) .type) = 203, только «только поля обработки с типом символов поля типа символов
- 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
- KK = K+1
- Петля
- response.write выполнение успешно
- %>
Если есть много таблиц базы данных, вышеуказанная структура базы данных обхода будет остановлена IIS до его выполнения. В это время вы можете:
Если rstschema (table_type) = таблица, тогда
Диапазон значений k добавлен соответствующим образом, например:
Если rstschema (table_type) = таблица k> 10 и k <20 тогда
Таким образом, только 9 таблиц эксплуатируются одновременно.
Шаг 3:
Согласно характеристикам инъекции базы данных JS (которая будет включать такие символы, как http: //), поместите следующий код в Conn.asp:
- FunctionCheAck_sqljs () 'предотвращает инъекцию Batabase Oversion Link JS: True - это обнаружить внешнюю ссылку JS -инъекцию.
- Dimf_post, f_get
- Check_sqljs = false
- Ifrequest.form <> then 'Detake of foreachf_postinrequest.formif (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'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 висела с трояном.